今天粤嵌Java培训机构跟大家分享的是:C调用Java方法,感兴趣的朋友可以收藏看看。
C调用Java方法和调用成员变量基本是一样的,首先我们现在Java类中定义一个方法,用Toast来显示信息,就比如之前说过C调用Java方法和变量步骤基本一样,下面来看下基本步骤:
一、获取java实例对象的引用
获取Java实例对象的引用这一步和C获取变量所介绍的获取方式是一样的,都是通过GetObjectClass或是FindClass函数来获取的。
二、通过实例对象获取实例方法IDJava中方法分为两类,一类是普通的方法,一类是静态方法:
1、获取普通方法ID:
可以通过jmethodID(GetMethodID)(JNIEnv,jclass,constchar,constchar);来获取方法ID,这也是JNI已经封装好的原生方法,来解释下这个函数:
GetMethodID函数前两个参数就不必多介绍了,其中第三个参数是Java类中的方法名称,对应的是Java2CJNI类中定义的方法:publicvoidshowMessage(Stringmessage){}中的showMessage。第四个参数是方法签名,也就是Java类中方法的返回类型,至于什么是签名上面已介绍清楚。
2、获取静态方法ID:获取静态方法ID会使用JNI的jmethodID(GetStaticMethodID)(JNIEnv,jclass,constchar,constchar);函数,它的使用和参数与GetMethodID一样,并没有什么差别。获取到方法ID后,可以通过JNI提供的回调函数来真正的调用Java方法。C回调Java方法会使用Call<type>Method函数来回调实际的方法。
想了解更多关于Java培训机构的相关信息,请点击在线咨询或者关注粤嵌官网,总会有你想不到的惊喜哦!