粤嵌Java培训机构分享C调用Java有哪些

更新时间: 2017-05-12 17:22:08来源: 粤嵌教育浏览量:3816

  今天粤嵌Java培训机构跟大家分享的是:C调用Java方法,感兴趣的朋友可以收藏看看。

  C调用Java方法和调用成员变量基本是一样的,首先我们现在Java类中定义一个方法,用Toast来显示信息,就比如之前说过C调用Java方法和变量步骤基本一样,下面来看下基本步骤:

  一、获取java实例对象的引用

  获取Java实例对象的引用这一步和C获取变量所介绍的获取方式是一样的,都是通过GetObjectClass或是FindClass函数来获取的。

  二、通过实例对象获取实例方法ID
  Java中方法分为两类,一类是普通的方法,一类是静态方法:
  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培训机构的相关信息,请点击在线咨询或者关注粤嵌官网,总会有你想不到的惊喜哦!




免费预约试听课