使用JNI获取arrayList的元素

时间:2014-06-10 00:42:00

标签: android opencv android-ndk java-native-interface

我正在使用OpenCV来计算一些算法,但现在我想把它转换成java代码,在java代码中,我的程序有一个方法:

public native float[] computeFeatures(ArrayList<float[]> listData);

现在,我使用javah生成头文件,在jni中,此方法如下所示:

JNIEXPORT jfloatArray JNICALL Java_cspdemo_CSPTest_computeFeatures (JNIEnv *, jobject, jobject);

如何在JNI中获取listData coressponding的元素(每个float数组,如listData1 = {1,3,4,0};)?请帮助我,谢谢!

1 个答案:

答案 0 :(得分:1)

使用size方法获取集合中的数组数。

然后使用get方法在循环中获取数组。

然后,对于每个数组,使用GetFloatArrayElements JNI API。