云网站7china,财经门户网站建设,唐山建站方案,苏州专业设计网站Android Native Code开发学习#xff08;三#xff09;
本教程为native code学习笔记#xff0c;希望能够帮到有需要的人
我的电脑系统为ubuntu 22.04#xff0c;当然windows也是可以的#xff0c;区别不大
对java中的对象变量进行操作
首先我们新建一个java的类
pub…Android Native Code开发学习三
本教程为native code学习笔记希望能够帮到有需要的人
我的电脑系统为ubuntu 22.04当然windows也是可以的区别不大
对java中的对象变量进行操作
首先我们新建一个java的类
public class ClassForJNI {public int a;public int b;public void add(){System.out.println(ab is :(ab));return;}
}我们的目标就是更改里面的a和b并且调用这个类就可以看到我们的输出
//查询类名
jclass clz_2 env-FindClass(com/example/nativecodelearn/ClassForJNI);
//查询构造函数的id
jmethodID jcmid_2 env-GetMethodID(clz_2, init, ()V);
//创建对象
jobject env-NewObject(clz_2, jcmid_2);
jfieldID fid_a env-GetFieldID(clz_2,a,I);
jint num_a env-GetIntField(jobject,fid_a);
env-SetIntField(jobject,fid_a,9);
jfieldID fid_b env-GetFieldID(clz_2,b,I);
jint num_b env-GetIntField(jobject,fid_b);
env-SetIntField(jobject,fid_b,10);
//获取方法id
jmethodID jmeid_2 env-GetMethodID(clz_2,add,()V);
env-CallVoidMethod(jobject,jmeid_2);其实这个步骤一共就这几步
找到类名准备构造函数创建对象获得fieldID得到对应的变量更改变量的值
通过这样我们就可以运行了这样就可以得到最终的结果了