NDK/JNI二维数组多维数组传递

来源:互联网 发布:java手游 编辑:程序博客网 时间:2024/06/17 04:04

1.NDK/JNI二维数组多维数组传递

一、java 层



  




二、jni层

  1. Java_cn_baipess_native( JNIEnv* env,jobject thiz,jobjectArray qizidata)  
  2.   
  3. {  
  4. jint i,j;  
  5.   
  6. int size = (*env)->GetArrayLength(env, qizidata);//获得行数  
  7.   
  8. jarray myarray = ((*env)->GetObjectArrayElement(env, qizidata, 0));  
  9.   
  10. int col =(*env)->GetArrayLength(env, myarray); //获得列数  
  11.   
  12. jint qizi[size][col];       
  13.   
  14. for (i = 0; i < size; i++){  
  15.   
  16.     myarray = ((*env)->GetObjectArrayElement(env, qizidata, i));  
  17.   
  18.     jint *coldata = (*env)->GetIntArrayElements(env, (jintArray)myarray, 0 );  
  19.   
  20.     for (j=0; j<col; j++) {  
  21.         qizi [i] [j] = coldata[j];  
  22.     }  
  23.   
  24. }  
  25.   
  26. }  

原创粉丝点击