好友
阅读权限30
听众
最后登录1970-1-1
|
首先我们在Java里面创建一个数组
如果我们正常在Java想调用这个方法,那么代码是这样的
[Java] 纯文本查看 复制代码 Test t1 = new Test();
int []arr = t1.getArr();
那么在native里面我们首先要找到test这个方法,然后实例化一个对象,然后再调用getArr这个方法
先把test搞出来先
后面我们就要调用对象的方法
按照常理返回的是一个arr数组,我们来接一下.
然后它报错,我们强制转换一下.
[Asm] 纯文本查看 复制代码 jintArray myArr = static_cast<jintArray>(env->CallObjectMethod(testObj,getArrId));
我们现在要得到它里面的元素进行访问,所以调用GetIntArrayElements这个方法,返回值是jint类型的地址
第第二个值我们填null,在ndk里面就是nullptr
[Asm] 纯文本查看 复制代码 jint *arrays = env->GetIntArrayElements(myArr, nullptr);
代码书写完成.
运行一下,结果也是正确的得到了.
如果是以参数传进来的就更简单了
结果也是正确的
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|