java 8种基本类型的数组转换成c语言的数组 jboolean* (*GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*);
jbyte* (*GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*);
jchar* (*GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*);
jshort* (*GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*);
jint* (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*);
jlong* (*GetLongArrayElements)(JNIEnv*, jlongArray, jboolean*);
jfloat* (*GetFloatArrayElements)(JNIEnv*, jfloatArray, jboolean*);
jdouble* (*GetDoubleArrayElements)(JNIEnv*, jdoubleArray, jboolean*); 获取数组的长度: jsize (*GetArrayLength)(JNIEnv*, jarray); 释放数组的内存: void (*ReleaseBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*, jint); void (*ReleaseByteArrayElements)(JNIEnv*, jbyteArray,
jbyte*, jint);
void (*ReleaseCharArrayElements)(JNIEnv*, jcharArray,
jchar*, jint);
void (*ReleaseShortArrayElements)(JNIEnv*, jshortArray,
jshort*, jint);
void (*ReleaseIntArrayElements)(JNIEnv*, jintArray,
jint*, jint);
void (*ReleaseLongArrayElements)(JNIEnv*, jlongArray,
jlong*, jint);
void (*ReleaseFloatArrayElements)(JNIEnv*, jfloatArray,
jfloat*, jint);
void (*ReleaseDoubleArrayElements)(JNIEnv*, jdoubleArray,
jdouble*, jint); 创建一个数组 jbooleanArray (*NewBooleanArray)(JNIEnv*, jsize); jbyteArray (*NewByteArray)(JNIEnv*, jsize);
jcharArray (*NewCharArray)(JNIEnv*, jsize);
jshortArray (*NewShortArray)(JNIEnv*, jsize);
jintArray (*NewIntArray)(JNIEnv*, jsize);
jlongArray (*NewLongArray)(JNIEnv*, jsize);
jfloatArray (*NewFloatArray)(JNIEnv*, jsize);
jdoubleArray (*NewDoubleArray)(JNIEnv*, jsize); 给数组赋值 void (*SetBooleanArrayRegion)(JNIEnv*, jbooleanArray, jsize, jsize, const jboolean*);
void (*SetByteArrayRegion)(JNIEnv*, jbyteArray,
jsize, jsize, const jbyte*);
void (*SetCharArrayRegion)(JNIEnv*, jcharArray,
jsize, jsize, const jchar*);
void (*SetShortArrayRegion)(JNIEnv*, jshortArray,
jsize, jsize, const jshort*);
void (*SetIntArrayRegion)(JNIEnv*, jintArray,
jsize, jsize, const jint*);
void (*SetLongArrayRegion)(JNIEnv*, jlongArray,
jsize, jsize, const jlong*);
void (*SetFloatArrayRegion)(JNIEnv*, jfloatArray,
jsize, jsize, const jfloat*);
void (*SetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
jsize, jsize, const jdouble*);
//传给C语言数组JNIEXPORT jintArray JNICALL Java_cn_my_ndkpassdata_DataProvider_intMethod     (JNIEnv * env, jobject obj, jintArray arr){     //获取数组的长度     int len=(*env)->GetArrayLength(env,arr);     LOGI("LEN=%d\n",len);     //获取int类型的数组     jint * elems=(*env)->GetIntArrayElements(env,arr,NULL);          jint temp=0;          int i=0;     for(;i<len;i++)     {         elems[i]+=10;               }     //把elems复制给arr,从第0位开始,长度位len     (*env)->SetIntArrayRegion(env,arr,0,len,elems);     (*env)->ReleaseByteArrayElements(env, elems, 0);      return arr;}

移动开发qq群:59516399

更多相关文章

  1. Android(安卓)登录页面(密码显示隐藏、EditText 图标切换、限制输
  2. Android自定View流式布局根据文字数量换行
  3. JSONObject 保存和传送 数组数据 ,如int[] ,double[] ,String[]..
  4. android客户端从服务器端获取json数据并解析
  5. Android中自定义属性(attrs.xml,TypedArray)的使用【转】
  6. Android(安卓)中GridView上图下字、GridView显示文字
  7. Android断点续传核心代码
  8. Android手机客户端通过JSP实现与Tomcat服务器端通信(Msql数据库,Js
  9. android自动工具类TextUtils使用详解

随机推荐

  1. Android 仿IOS搜索框
  2. Android 休眠与唤醒
  3. android 工具类 数据库管理
  4. Android中字体颜色大全-146种(完整版)
  5. android按键模拟测试
  6. android 里面的测量单位
  7. android四种不同的事件实现
  8. 如何隐藏Activity的界面,让其在后台运行
  9. Activity finish后出现闪烁的解决办法
  10. Android Wifi Hotspot Manager Class