JNI學習積累之一 ---- 常用函數大全_第1頁
JNI學習積累之一 ---- 常用函數大全_第2頁
JNI學習積累之一 ---- 常用函數大全_第3頁
JNI學習積累之一 ---- 常用函數大全_第4頁
JNI學習積累之一 ---- 常用函數大全_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JNI學習積累之一 - 常用函數大全轉至:最近一段時間,在工作方面比較閑,分配的Bug不是很多,于是好好利用這段時間就著源代碼看了些許模塊, 主要方式還是看代碼, 同時利用燒機的便利,加Log觀看,基本上都能弄個臉熟 。心里想著該寫點什么了?可是水平不夠,再加上包括很多真正實現地方-中間層,基本上沒看。于是乎,也就不好賣弄了?;藥滋鞎r間研究了下JNI,基本上知道如何使用了。照我的觀點JNI還是不難的,難得只是我們一份嘗試的心。 學習過程中, 發(fā)現關于JNI函數資料真的很少,所謂“工欲善其事,便先利其器”,整理出了這份資料,希望能幫助你克服JNI學習的坎。

2、0;     主要資料來源: 百度文庫的JNI常用函數 。      同時對其加以了補充 。  要素  :1、 該函數大全是基于C語言方式的,對于C+方式可以直接轉換 ,例如,對于生成一個jstring類型的方法轉換分別如下: C編程環(huán)境中使用方法為:(*env) ->NewStringUTF(env , "123") ;C+編程環(huán)境中(例如,VC下)則: env ->NewStringUTF(

3、 "123") ;  (使用起來更簡單) 2、關于下列有些函數中:*isCopy     的說明,例如,如下函數:                      const char* GetStringUTFChars(JNIEnv*env, jstring string,

4、0;jboolean *isCopy);   對第三個參數 jboolean *isCopy說明如下: 當從JNI函數GetStringUTFChars函數中返回得到字符串B時,如果B是原始字符串java.lang.String的一份拷貝,則isCopy  被賦值為JNI_TRUE。如果B是和原始字符串指向的是JVM中的同一份數據,則isCopy  被賦值為JNI_FALSE。     當isCopy  為JNI_FALSE時,本地代碼絕不能修改字符串的內容,否則J

5、VM中的原始字符串也會被修改,這會打破Java語言中字符串不可變的規(guī)則。通常,我們不必關心JVM是否會返回原始字符串的拷貝,只需要為isCopy傳遞NULL作為參數 。-     以上內容來自 JNI編程指南一、類操作jclass DefineClass (JNIEnv *env, jobject loader,   const jbyte *buf , jsize bufLen);     功能:從原始類數據的緩沖區(qū)中加載類。     

6、;參數: env        JNI 接口指針。             loader    分派給所定義的類的類加載器。             buf        包含 .class 文件數據的緩沖區(qū)。             bufLen  緩沖區(qū)長度。

7、60;    返回值:返回 Java 類對象。如果出錯則返回NULL。     拋出: ClassFormatError      如果類數據指定的類無效。 ClassCircularityError  如果類或接口是自身的超類或超接口。             OutOfMemoryError  如果系統(tǒng)內存不足。 jclass FindClass (JNIEnv *env,

8、 const char *name);功能: 該函數用于加載本地定義的類。它將搜索由CLASSPATH 環(huán)境變量為具有指定名稱的類所指定的目錄和 zip文件。     參數:env    JNI 接口指針。              name  類全名(即包名后跟類名,之間由"/"分隔).如果該名稱以“(數組簽名字符)打頭,則返回一個數組類。 &#

9、160;   返回值:返回類對象全名。如果找不到該類,則返回 NULL。     拋出:   ClassFormatError          如果類數據指定的類無效。ClassCircularityError      如果類或接口是自身的超類或超接口。              NoClassDefFoundError  如果找不到

10、所請求的類或接口的定義。              OutOfMemoryError       如果系統(tǒng)內存不足。 jclass GetObjectClass (JNIEnv *env, jobject obj);      功能:通過對象獲取這個類。該函數比較簡單,唯一注意的是對象不能為NULL,否則獲取的class肯定返回也為NULL。     參數:

11、  env   JNI 接口指針。                obj   Java 類對象實例。   jclass GetSuperclass (JNIEnv *env, jclass clazz);              

12、; 功能:獲取父類或者說超類 。 如果 clazz 代表類class而非類 object,則該函數返回由 clazz 所指定的類的超類。 如果 clazz            指定類 object 或代表某個接口,則該函數返回NULL。     參數:  env   JNI 接口指針。                clazz  Java 類對象。 

13、60;    返回值:    由 clazz 所代表的類的超類或 NULL。jboolean IsAssignableFrom (JNIEnv *env, jclass clazz1,  jclass clazz2);               功能:確定 clazz1 的對象是否可安全地強制轉換為clazz2。    參數:  env  JNI 接口指針。  &#

14、160;           clazz1 第一個類參數。              clazz2 第二個類參數。    返回值:  下列某個情況為真時返回 JNI_TRUE:          1、 第一及第二個類參數引用同一個 Java 類。             2、 第一個類是第二個類的子類。

15、60;            3、 第二個類是第一個類的某個接口。 /二、異常操作  jint  Throw(JNIEnv *env, jthrowable obj);     功能:拋出 java.lang.Throwable 對象。     參數: env  JNI 接口指針。      obj   java.lang.Throwable 對象。     

16、;返回值:  成功時返回 0,失敗時返回負數。     拋出:    java.lang.Throwable 對象 obj。                jint ThrowNew (JNIEnv *env ,  jclass clazz,  const char *message);            功能:利用指定類的消息(由

17、message 指定)構造異常對象并拋出該異常。     參數: env    JNI 接口指針。clazz  java.lang.Throwable 的子類。             message  用于構造java.lang.Throwable對象的消息。     返回值: 成功時返回 0,失敗時返回負數。     拋出:  新構造的 java.lang.Thr

18、owable 對象。jthrowable ExceptionOccurred (JNIEnv *env);              功能:確定是否某個異常正被拋出。在平臺相關代碼調用 ExceptionClear() 或 Java 代碼處理該異常前,異常將始終保持拋出狀態(tài)。參數:  env  JNI 接口指針。返回值: 返回正被拋出的異常對象,如果當前無異常被拋出,則返回NULL。void Ex

19、ceptionDescribe (JNIEnv *env);     功能:將異常及堆棧的回溯輸出到系統(tǒng)錯誤報告信道(例如 stderr)。該例程可便利調試操作。    參數:env   JNI 接口指針。void ExceptionClear (JNIEnv *env);功能:清除當前拋出的任何異常。如果當前無異常,則此例程不產生任何效果。參數: env   JNI 接口指針。void FatalError (JNIEnv

20、*env, const char *msg);   功能:拋出致命錯誤并且不希望虛擬機進行修復。該函數無返回值。   參數:  env   JNI 接口指針。           msg   錯誤消息。/三、全局及局部引用  jobject NewGlobalRef (JNIEnv *env, jobject obj);      功能:創(chuàng)建 obj 參數所

21、引用對象的新全局引用。obj 參數既可以是全局引用,也可以是局部引用。全局引用通過調用DeleteGlobalRef() 來顯式撤消。     參數:env   JNI 接口指針。           obj    全局或局部引用。     返回值: 返回全局引用。如果系統(tǒng)內存不足則返回 NULL。void DeleteGlobalRef (JNIEnv *env, jobject globalRef); 

22、    功能: 刪除 globalRef 所指向的全局引用。     參數: env    JNI 接口指針。                globalRef  全局引用。  void  DeleteLocalRef (JNIEnv *env, jobject localRef);   

23、   功能: 刪除 localRef所指向的局部引用。     參數: env   JNI 接口指針。                 localRef  局部引用。   /四、對象操作  jobject AllocObject (JNIEnv *env, jclass

24、 clazz);       功能:分配新 Java 對象而不調用該對象的任何構造函數。返回該對象的引用。clazz 參數務必不要引用數組類。     參數: env  JNI 接口指針。               clazz  Java 類對象。     返回值: 返回 Java 對象。如果無法構造該對象,則返回NULL。     拋

25、出: InstantiationException:如果該類為一個接口或抽象類。OutOfMemoryError:如果系統(tǒng)內存不足。  jobject NewObject (JNIEnv *env ,  jclass clazz,  jmethodID methodID, .);   /參數附加在函數后面  jobject NewObjectA (JNIEnv *env , jclassclazz,  jmethodID methodID, jvalue

26、*args);    /參數以指針形式附加  jobjec tNewObjectV (JNIEnv *env , jclassclazz,  jmethodID methodID, va_list args);    /參數以"鏈表"形式附加  功能:構造新 Java 對象。方法 ID指示應調用的構造函數方法。注意:該 ID特指該類class的構造函數ID , 必須通過調用       GetMe

27、thodID() 獲得,且調用時的方法名必須為 <init>,而返回類型必須為 void (V)。clazz參數務必不要引用數組類。  參數:  env  JNI 接口指針。           clazz  Java 類對象。           methodID 構造函數的方法 ID。     NewObject 的其它參數:  傳給構造函數的參數,可以為空 。 

28、;    NewObjectA 的其它參數: args:傳給構造函數的參數數組。     NewObjectV 的其它參數: args:傳給構造函數的參數 va_list。  返回值: 返回 Java 對象,如果無法構造該對象,則返回NULL。  拋出:   InstantiationException  如果該類為接口或抽象類。            OutOfMemoryError

29、  如果系統(tǒng)內存不足。            構造函數拋出的任何異常。  jclass GetObjectClass (JNIEnv *env, jobject obj);    功能:返回對象的類。   參數: env  JNI 接口指針。           obj  Java 對象(不能為 NULL)。   返回值: 返回

30、 Java 類對象。 jboolean IsInstanceOf (JNIEnv *env, jobject obj, jclass clazz);   功能:測試對象是否為某個類的實例。   參數:  env  JNI 接口指針。               obj  Java 對象。  

31、;             clazz Java 類對象。   返回值:如果可將 obj 強制轉換為 clazz,則返回 JNI_TRUE。否則返回 JNI_FALSE。NULL 對象可強制轉換為任何類。jbooleanIsSameObject (JNIEnv *env, jobjectref1, jobject ref2);     功能:測試兩個引用是否引用同一Java 對象。

32、60;   參數:  env  JNI 接口指針。               ref1  Java 對象。               ref2   Java 對象。    返回值: 如果 ref1 和 ref2 引用同一 Java 對象或均為 NULL,則返回 JNI_TRUE。否則返回 JNI

33、_FALSE。/五、 字符串操作  jstring  NewString (JNIEnv *env, const jchar *unicodeChars,   jsize len);    功能:利用 Unicode 字符數組構造新的 java.lang.String 對象。    參數:   env:JNI 接口指針。         

34、        unicodeChars:指向 Unicode 字符串的指針。                 len:Unicode 字符串的長度。    返回值: Java 字符串對象。如果無法構造該字符串,則為NULL。    拋出: OutO

35、fMemoryError:如果系統(tǒng)內存不足。                               jsize  GetStringLength (JNIEnv *env, jstring string);    功能:返回 Java 字符串的長度(Unicode 字符數)。    參數:  env:JNI 接口

36、指針。                string:Java 字符串對象。    返回值: Java 字符串的長度。  const  jchar *  GetStringChars (JNIEnv*env, jstring string,  jboolean *isCopy);              功能:返回指向字符串的

37、Unicode 字符數組的指針。該指針在調用 ReleaseStringchars() 前一直有效。如果 isCopy 非空,則在復制完成后將 *isCopy 設為 JNI_TRUE。如果沒有復制,則設為JNI_FALSE。   參數:   env:JNI 接口指針。             string:Java 字符串對象。             isCopy:指向布爾值的指針。  

38、0;返回值:   指向 Unicode 字符串的指針,如果操作失敗,則返回NULL。 void  ReleaseStringChars (JNIEnv *env, jstring string,  const jchar *chars);   功能:通知虛擬機平臺相關代碼無需再訪問 chars。參數chars 是一個指針,可通過 GetStringChars() 從 string 獲得。   參數: env:JNI 接口指針。  

39、60;           string:Java 字符串對象。              chars:指向 Unicode 字符串的指針。 jstring  NewStringUTF (JNIEnv *env, const char *bytes);   功能:利用 UTF-8 字符數組構造新 java.l

40、ang.String 對象。   參數: env:JNI 接口指針。如果無法構造該字符串,則為 NULL。              bytes:指向 UTF-8 字符串的指針。   返回值:Java 字符串對象。如果無法構造該字符串,則為NULL。   拋出:  OutOfMemoryError:如果系統(tǒng)內存不足。 jsize  GetStrin

41、gUTFLength (JNIEnv *env, jstring string);   功能:以字節(jié)為單位返回字符串的 UTF-8 長度。   參數:   env:JNI 接口指針。            string:Java 字符串對象。   返回值:  返回字符串的 UTF-8 const char* GetStringUTFChars (JNIEnv*env,

42、 jstring string, jboolean *isCopy);功能:返回指向字符串的 UTF-8 字符數組的指針。該數組在被ReleaseStringUTFChars() 釋放前將一直有效。如果 isCopy不是 NULL,*isCopy 在復制完成后即被設為 JNI_TRUE。如果未復制,則設為JNI_FALSE。   參數:  env:JNI 接口指針。           string:Java 字符串對象。          &#

43、160;isCopy:指向布爾值的指針。   返回值:  指向 UTF-8 字符串的指針。如果操作失敗,則為 NULL。  void  ReleaseStringUTFChars (JNIEnv *env, jstring string,  const char *utf);   功能:通知虛擬機平臺相關代碼無需再訪問 utf。utf 參數是一個指針,可利用 GetStringUTFChars() 獲得。   參數:  env:JNI 接口指針。

44、               string:Java 字符串對象。            utf:指向 UTF-8 字符串的指針。/六、數組操作 jsize GetArrayLength (JNIEnv *env, jarray array);   功能:返回數組中的元素數。   參數:env:JNI 接口指針。  &

45、#160;        array:Java 數組對象。   返回值: 數組的長度。jarray NewObjectArray (JNIEnv *env, jsize length,  jclass elementClass, jobject initialElement);   功能:構造新的數組,它將保存類 elementClass 中的對象。所有元素初始值均設為 initialElement。   參數: env:JN

46、I 接口指針。           length:數組大小。           elementClass:數組元素類。             initialElement:初始值。 可以為NULL 。   返回值:Java 數組對象。如果無法構造數組,則為 NULL。   拋出:  OutOfMemoryError:如果系統(tǒng)內存不足。  

47、60;說明: 使用該函數時,為了便于易操作性,我們一般可以用jobjectArray數組類型或得返回值,例如:jobjectArray objArray = env->NewObjectArray ( ); /操作該對象     env->GetObjectArrayElement (objArray, 0);/獲得該object數組在索引0處的值 ,(可以強制轉換類型). jobject  GetObjectArrayElement (JNIEnv *env,   jobjectArray

48、array, jsize index);   功能:返回 Object 數組的元素。   參數:   env:JNI 接口指針。                array:Java 數組。                index:數組下標。   返回值: Java 對象。   拋出: A

49、rrayIndexOutOfBoundsException:如果 index 不是數組中的有效下標。void  SetObjectArrayElement (JNIEnv *env, jobjectArray array,  jsize index, jobject value);   功能:設置 Object 數組的元素。   參數:  env:JNI 接口指針。           

50、   array:Java 數組。            index:數組下標。            value:新值。   拋出: ArrayIndexOutOfBoundsException:如果 index 不是數組中的有效下標。          ArrayStoreException:如果 value 的類不是數組元素類的子類。New&

51、lt;PrimitiveType>Array方法類型      NativeType New<PrimitiveType>Array (JNIEnv *env, ArrayType array, jboolean*isCopy);     說明: 用于構造新基本類型數組對象的一系列操作。下表說明了特定的基本類型數組構造函數。用戶應把    New<PrimitiveType>Array 替換為某個實際的基本類型數組構造函數例程

52、名(見下表),然后將 ArrayType替換為該例程相應的數組類型。     參數:  env : JNI 接口指針。             length:數組長度。     返回值:  Java 數組。如果無法構造該數組,則為 NULL。New<PrimitiveType>Array 方法組       

53、0;       數組類型        NewBooleanArray()                            jbooleanArray     NewByteArray()            

54、                    jbyteArrayNewCharArray()                                jcharArray           NewShortArray()    

55、;                          jshortArray     NewIntArray()                                 jintArray      NewLongArray() &

56、#160;                            jlongArray     NewFloatArray()                              jfloatArray      

57、      NewDoubleArray()                             jdoubleArray    Get<PrimitiveType>ArrayElements 方法類型 

58、      NativeType *Get<PrimitiveType>ArrayElements (JNIEnv *env, ArrayType array, jboolean*isCopy);   說明:一組返回基本類型數組體的函數。結果在調用相應的Release<PrimitiveType>ArrayElements()函數前將一直有效。     由于返回的數組可能是 Java 數組的副本,因此對返回數組的更改不必在基本類型數

59、組中反映出來,直到調用了     Release<PrimitiveType>ArrayElements()。 如果 isCopy 不是 NULL,*isCopy 在復制完成后即被設為 JNI_TRUE。如果未復制,則設為JNI_FALSE。  使用說明:   將 Get<PrimitiveType>ArrayElements 替換為表中某個實際的基本類型元素訪問器例程名。     將 ArrayType 替換為對應的數組類型。   

60、;  將 NativeType 替換為該例程對應的本地類型。    參數:   env:JNI 接口指針。                array:Java 字符串對象。               isCopy:指向布爾值的指針。    返回值: 

61、;   返回指向數組元素的指針,如果操作失敗,則為 NULL。     不管布爾數組在 Java 虛擬機中如何表示,GetBooleanArrayElements() 將始終返回一個 jbooleans 類型的指針,其中每一字節(jié)代表一個元素(開包表示)。內存中將確保所有其它類型。Get<PrimitiveType>ArrayElements 例程 數組類型                本地類型GetBooleanArrayElements()

62、         jbooleanArray            jbooleanGetByteArrayElements()              jbyteArray                jbyteGetCharArrayElements()             j

63、charArray                 jcharGetShortArrayElements()            jshortArray                jshortGetIntArrayElements()              jintArray  

64、                 jintGetLongArrayElements()            jlongArray                 jlongGetFloatArrayElements()            jfloatArray        

65、;         jfloatGetDoubleArrayElements()        jdoubleArray              jdoubleRelease<PrimitiveType>ArrayElements 方法類型void  Release<PrimitiveType>ArrayElements (JNIEnv *env, ArrayType a

66、rray, NativeType *elems,jint mode);     功能:通知虛擬機平臺相關代碼無需再訪問 elems 的一組函數。elems 參數是一個通過使用對應的Get<PrimitiveType>ArrayElements() 函數由 array 導出的指針。必要時,該函數將把對 elems 的修改復制回基本        類型數組。mode參數將提供有關如何釋放數組緩沖區(qū)的信息。如果elems 不是 array 中數組元素的副本,mode將無

67、效。否則,mode 將具有下表所述的功能:                    模式                        動作  

68、;                  0                            復制回內容并釋放elems 緩沖區(qū) 

69、0;                 JNI_COMMIT          復制回內容但不釋放elems 緩沖區(qū)                   

70、;  JNI_ABORT             釋放緩沖區(qū)但不復制回變化               多數情況下,編程人員將把“0”傳給 mode 參數以確保固定的數組和復制的數組保持一致。其它選項可以使編程人員進一步控制內存管理,但使用時務必慎重。     使用說明:

71、0;        將 ArrayType 替換為對應的數組類型。         將 NativeType 替換為該例程對應的本地類型。   參數: env:JNI 接口指針。                   &#

72、160;     array:Java 數組對象。                             elems:指向數組元素的指針。          

73、              mode:釋放模式。      Release<PrimitiveType>ArrayElements方法組    數組類型 本地類型ReleaseBooleanArrayElements()      jbooleanArray    &

74、#160;  jbooleanReleaseByteArrayElements()            jbyteArray              jbyteReleaseCharArrayElements()           jcharA

75、rray              jcharReleaseShortArrayElements()          jshortArray             jshortReleaseIntArrayElements() 

76、0;            jintArray                 jintReleaseLongArrayElements()          jlongArray    &

77、#160;        jlongReleaseFloatArrayElements()          jfloatArray             jfloatReleaseDoubleArrayElements()      jdoubleArra

78、y         jdoubleGet<PrimitiveType>ArrayRegion 方法類型void  Get<PrimitiveType>ArrayRegion (JNIEnv *env, ArrayType array,  jsize start, jsize len, NativeType *buf);    功能:將基本類型數組某一區(qū)域復制到緩沖區(qū)中的一組函數。使用說明:&#

79、160;   將 Get<PrimitiveType>ArrayRegion 替換為下表的某個實際基本類型元素訪問器例程名。將 ArrayType 替換為對應的數組類型。                    將 NativeType 替換為該例程對應的本地類型。        參數:&

80、#160;    env:JNI 接口指針。                             array:Java 指針。            

81、60;                    start:起始下標。                            

82、60;      len:要復制的元素數。                                  buf:目的緩沖區(qū)。       

83、60;           拋出:  ArrayIndexOutOfBoundsException:如果區(qū)域中的某個下標無效。     方法族如下: Get<PrimitiveType>ArrayRegion方法           數組類型      &#

84、160;      本地類型GetBooleanArrayRegion()                          jbooleanArray     jbooleanGetByteArrayRegion()  

85、0;                             jbyteArray           jbyteGetCharArrayRegion()      &#

86、160;                        jcharArray           jcharGetShortArrayRegion()           

87、;                   jshortArray          jhortGetIntArrayRegion()                

88、0;                 jintArray              jintGetLongArrayRegion()              

89、                 jlongArray          jlongGetFloatArrayRegion()                   

90、60;           jfloatArray         jloatGetDoubleArrayRegion()                         

91、;  jdoubleArray    jdoubleSet<PrimitiveType>ArrayRegion 方法類型           void  Set<PrimitiveType>ArrayRegion (JNIEnv *env, ArrayType array,   jsize start, jsize len, NativeType *bu

92、f);                功能:將基本類型數組的某一區(qū)域從緩沖區(qū)中復制回來的一組函數。                 使用說明:  將 Set<PrimitiveType>ArrayRegion 替換為表中的實際基本類型元素

93、訪問器例程名。                                    將 ArrayType 替換為對應的數組類型。         

94、                              將 NativeType 替換為該例程對應的本地類型。               

95、60;   參數: env:JNI 接口指針。                          array: Java 數組。             

96、60;              start:起始下標。                                len:要復制的元素

97、數。                               buf:源緩沖區(qū)。                拋出:

98、0;ArrayIndexOutOfBoundsException:如果區(qū)域中的某個下標無效。 Set<PrimitiveType>ArrayRegion 方法族            數組類型             本地類型SetBooleanArrayRegion()     

99、60;                    jbooleanArray     jbooleanSetByteArrayRegion()                    &

100、#160;           jbyteArray           jbyteSetCharArrayRegion()                       

101、        jcharArray           jcharSetShortArrayRegion()                          

102、0;   jshortArray          jshortSetIntArrayRegion()                                 &

103、#160;jintArray              jintSetLongArrayRegion()                               jl

104、ongArray           jlongSetFloatArrayRegion()                               jfloatArray   

105、        jfloatSetDoubleArrayRegion()                            jdoubleArray      jdouble   /六、

106、訪問對象的屬性和方法1、實例屬性的訪問  jfieldID  GetFieldID (JNIEnv *env, jclass clazz, const char *name, const char *sig);   功能:返回類的實例(非靜態(tài))域的屬性 ID。該域由其名稱及簽名指定。訪問器函數的Get<type>Field 及 Set<type>Field        系列使用域 ID 檢索對象域。GetFie

107、ldID() 不能用于獲取數組的長度域。應使用GetArrayLength()。   參數:  env:JNI 接口指針。               clazz:Java 類對象。               name: 該屬性的Name名稱 &#

108、160;             sig:   該屬性的域簽名。   返回值:屬性ID。如果操作失敗,則返回NULL。   拋出:NoSuchFieldError:如果找不到指定的域。             ExceptionInInitializerErr

109、or:如果由于異常而導致類初始化程序失敗。              OutOfMemoryError:如果系統(tǒng)內存不足。   Get<type>Field 例程      NativeType  Get<type>Field (JNIEnv*env, jobject obj, jfieldID fieldID); 

110、;   功能:該訪問器例程系列返回對象的實例(非靜態(tài))域的值。要訪問的域由通過調用GetFieldID() 而得到的域 ID 指定。    參數:   env:JNI 接口指針。                 obj:Java 對象(不能為 NULL)。       

111、          fieldID:有效的域 ID。    返回值:   屬性的內容。         Get<type>Field 例程名        本地類型          &#

112、160;          GetObjectField()                  jobject                  Ge

113、tBooleanField()               jboolean                 GetByteField()             

114、60;       jbyte                       GetCharField()                  

115、   jchar                       GetShortField()                    jshort   

116、                   GetIntField()                        jint      

117、;           GetLongField()                    jlong                

118、60;       GetFloatField()                    jfloat                     

119、60; GetDoubleField()      jdouble       Set<type>Field 方法族 void  Set<type>Field (JNIEnv *env, jobject obj, jfieldID fieldID,  NativeType value);   功能: 該訪問器例程系列設置對象的實例(非靜態(tài))屬性

120、的值。要訪問的屬性由通過調用SetFieldID() 而得到的屬性 ID指定。   參數:  env:JNI 接口指針。               obj:Java 對象(不能為 NULL)。                             fieldID:有效的域 ID。                               value:域的新值。    

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論