JNI:如何通过java字段返回字节数组?
问题描述:
我有一个Java对象和一个字节[]字段在这样的:JNI:如何通过java字段返回字节数组?
class MyJavaClass {
public byte[] mData;
}
在JNI侧我有一个字节数组这样的:
unit8_t* bytes;
int size;
我可以从访问此mData
对象JNI,但我不知道在JNI上应该怎么做,以便此对象具有这些字节。
我不能每次分配一个jByteArray
,因为数据经常变化。所以我只想从JNI中设置mData
,然后通过一些其他的回调函数告诉Java我已经设置了数据。
答
你为什么不想要模仿阵列的本地方法:
public native byte array_get(int idx)
,public native byte array_set(int idx, byte value)
?
+0
因为我然后将该数组完全传递给一些第三方API –
可能的重复:[如何使用JNI访问对象中的数组?](http://stackoverflow.com/questions/1086596/how-to-access-arrays-within-an-object-with-jni)。 – edwardw
是的,我的是一个dup,我将很快删除它 –