中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

jni和java對(dui)應關系


Java 類型本地類型描述
booleanjbooleanC/C++8位整型
bytejbyteC/C++帶符號的8位整型
charjcharC/C++無符號的16位整型
shortjshortC/C++帶符號的16位整型
intjintC/C++帶符號的32位整型
longjlongC/C++帶符號的64位整型e
floatjfloatC/C++32位浮點型
doublejdoubleC/C++64位浮點型
Objectjobject任何Java對象,或者沒有對應java類型的對象
ClassjclassClass對象
Stringjstring字符串對象
Object[]jobjectArray任何對象的數組
boolean[]jbooleanArray布爾型數組
byte[]jbyteArray比特型數組
char[]jcharArray字符型數組
short[]jshortArray短整型數組
int[]jintArray整型數組
long[]jlongArray長整型數組
float[]jfloatArray浮點型數組
double[]jdoubleArray雙浮點型數組


函數Java 數組類型本地類型
GetBooleanArrayElementsjbooleanArrayjboolean
GetByteArrayElementsjbyteArrayjbyte
GetCharArrayElementsjcharArrayjchar
GetShortArrayElementsjshortArrayjshort
GetIntArrayElementsjintArrayjint
GetLongArrayElementsjlongArrayjlong
GetFloatArrayElementsjfloatArrayjfloat
GetDoubleArrayElementsjdoubleArrayjdouble
eg: 
  1. jfloatArray jArray = env->NewFloatArray(8);


函數描述
GetFieldID得到一個實例的域的ID
GetStaticFieldID得到一個靜態的域的ID
GetMethodID得到一個實例的方法的ID
GetStaticMethodID得到一個靜態方法的ID


定義字符(fu)串:

  1. jobjectArray arrays = 0;
  2. //定義長(chang)度
  3. jsize len = 20;
  4. arrays = (*jniEnv)->NewObjectArray(jniEnv, len, (*jniEnv)->FindClass(
  5. jniEnv, "java/lang/String"), 0);
  6. jstring jstr;
  7. char* sa[] = { "Hello,", "world!", "JNI", "很", "好玩" };
  8. int i = 0;
  9. for (; i < len; i++)
  10. {
  11. jstr = (*env)->NewStringUTF(env, sa[i]);
  12. (*env)->SetObjectArrayElement(env, arrays, i, jstr);//必(bi)須放入jstring
  13. }

獲取(qu)數組的值:

  1. int k = 0;
  2. for (; k < len; k++) {
  3. jstring string = (jstring)((*jniEnv)->GetObjectArrayElement(jniEnv,
  4. arrays, k));
  5. if (string != NULL) {
  6. char * c = (*jniEnv)->GetStringUTFChars(jniEnv, string, 0);
  7. __android_log_print(ANDROID_LOG_INFO, "JNIMsg", c);
  8. }
  9. }
中間層數據類型(xing)轉化:
  1. char* ---> jstring (*jniEnv)->NewStringUTF(jniEnv,char*)
  2. jstring ---> char (*jniEnv)->GetStringUTFChars(jniEnv, jstring, 0);
  3. long ---> char* ltoa(long,char*,10); sprintf(csendBodyLen,"%ld",sendBodyLen);
  4. char* ---> long *long = atol(char*);







posted on 2016-10-27 15:20  ①塊腹肌  閱讀(833)  評論(0)    收藏  舉報