Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将int数组从Java返回到JNI_Java_Android_C_Java Native Interface - Fatal编程技术网

如何将int数组从Java返回到JNI

如何将int数组从Java返回到JNI,java,android,c,java-native-interface,Java,Android,C,Java Native Interface,我必须从JNI调用一个Java方法。此Java方法返回int数组(int[]simpleMethod())。如何从JNI调用它以获取数组作为返回值? 我知道当方法返回void/String/int/etc但找不到任何数组时如何执行此操作。 我对如何解决这个问题有一些想法,但可能有一个简单的答案。使用CallObjectMethod。例如: jmethodID myMethod = (*env)->GetMethodID(myClass, "myMethod", "()[I"); jintA

我必须从JNI调用一个Java方法。此Java方法返回int数组(int[]simpleMethod())。如何从JNI调用它以获取数组作为返回值? 我知道当方法返回void/String/int/etc但找不到任何数组时如何执行此操作。
我对如何解决这个问题有一些想法,但可能有一个简单的答案。

使用
CallObjectMethod
。例如:

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