2011-12-02 11 views
9

Tengo que llamar a un método Java desde JNI. Este método Java devuelve int array (int [] simpleMethod()). ¿Cómo llamar esto desde JNI para obtener la matriz como un valor de retorno? Sé cómo hacer esto cuando el método devuelve void/String/int/etc pero no pude encontrar nada con las matrices. Tengo algunas ideas sobre cómo solucionar esto, pero tal vez haya una respuesta simple.Cómo devolver la matriz int de Java a JNI

Respuesta

18

Use CallObjectMethod. Por ejemplo:

jmethodID myMethod = (*env)->GetMethodID(myClass, "myMethod", "()[I"); 
jintArray retval = (jintArray) (*env)->CallObjectMethod(myObject, myMethod); 
Cuestiones relacionadas