android jni 返回java的乙個類

2021-07-23 14:37:28 字數 824 閱讀 9353

jclass objclass = (*env)->findclass(env,"類的路徑");

//獲取類物件    路徑:com.org.demo.test  內部類則用com.org.demo.test$cls

jmethodid mid = (*env)->getmethodid(env,objclass,"","()v");//獲取類的構造方法

jobject obj = (*env)->newobject(env,objclass,mid);

//獲取類的例項物件

jfieldid jbuf = (*env)->getfieldid(env,objclass,"buffer","[b");

//獲取類的字段[陣列型別]

jfieldid jkey = (*env)->getfieldid(env,objclass,"key","i"); //獲取類的字段

(*env)->setintfield(env,obj,jkey,1);

//設定類的字段的值

jbytearray bytearray;

//定義乙個byte陣列

bytearray = (*env)->newbytearray(env,buf_size);

//新建陣列,分配陣列大小

(*env)->setbytearrayregion(env,bytearray,0,buf_size,buf); //設定bytearray的值

(*env)->setobjectfield(env,obj,jbuf,bytearray);

//設定類的字段buffer的值

return obj;

//返回物件

Android JNI開發入門

file new project 選擇 basic activity 填好名稱 專案位置,語言就ok了。gradle.properties檔案末尾加上 android.enablejetifier true 檔案local.properties末尾新增 sdk.dir 和 ndk.dir sdk和n...

Android JNI 列印日誌

1 匯入標頭檔案 include2 先定義乙個全域性變數,再定義一些輸出的log函式 include define tag mydemo jni 這個是自定義的log的標識 define logd android log print android log debug,tag va args 定義l...

jav學習之 IO流

1.流的分類 按照資料流向的不同 輸入流 輸出流 按照處理資料的單位的不同 位元組流 字元流 處理的檔案文字 按照角色的不同,節點流 直接作用於檔案 處理流 2.io的體系 抽象基類 節點流 檔案流 緩衝流 處理流的一種 inputstream fileinputstream bufferedinp...