今天粵嵌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培訓機構的相關信息,請點擊在線咨詢或者關注粵嵌官網,總會有你想不到的驚喜哦!