Android jni GetFieldID 和 GetMethodID 函數的說明


Android jni GetFieldID 和 GetMethodID 函數的說明

 

  GetFieldID是得到java類中的參數ID,GetMethodID得到java類中方法的ID,它們只能調用類中聲明為 public的參數或方法。使用如下:jfieldID topicFieldId = env->GetFieldID(objectClass,"name""Ljava/lang/String;");
jmethodID getcName=env->GetMethodID(objectClass,"getcatName","()Ljava/lang/String;");



第一參數是Java 類對象。第二個參數是參數(或方法名),第三個參數是該參數(或方法)的簽名。第三個參數由以下方法得到。

例如:

public class Cat{    

     private int catNumber;    
             String catName;

     public Cat(int i,String name)
               {catNumber=i;catName=name;}    
     public String getCatName ()
               return this.catName;}
     public void setCatName (String catName)
               this.catName=catName;}
}



比如查看 Cat類 進入到Cat所在目錄 先用javac Cat.java進行編譯 然后輸入命令:
Javap –s Cat
得到Cat方法 getcatName 的簽名是()Ljava/lang/String,Cat類中的參數是private 所以它沒有簽名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM