【Tech-Android-Jni】JNI在本地函数中生成Java层的对象

在本地函数中,不但可以获取到Java层上的字段值 函数方法,对字段值操作,调用Java层方法,还可以在本地函数中新建成Java层的对象。
     jclass rvClazz =(*env)->FindClass(env,"com/example/adder/ResultValue"); //找到该类文件
     jmethodID constr = (*env)->GetMethodID(env,rvClazz,"<init>","()V"); //调用类文件的默认<init> 获取rvClass的其构造函数
     jobject ref = (*env)->NewObject(env,rvClazz,constr); //再用NewObject(env,类别对象,构造函数方法|ID); 获取新对象的参数对象

     m_rv_object = (jobject)(*env)->NewGlobalRef(env,ref); //利用参数对象 获取全局函数
     m_rv_mid = (*env)->GetMethodID(env,rvClazz,"setV","(I)V"); //获取其方法ID

你可能感兴趣的:(【Tech-Android-Jni】JNI在本地函数中生成Java层的对象)