接着前面的文章《Android java传递int类型数据给C》《Android java传递string类型数据给C》,继续实践

实现public native int[] arrElementsIncrease(int[] intArray);

项目布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="传递int类型参数" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="passString"android:text="传递String类型参数" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="passIntArray"android:text="传递Int类型数组" /></LinearLayout>

实现arrElementsIncrease函数

/** Class:     com_wuyudong_javapassdata_JNI* Method:    arrElementsIncrease* Signature: ([I)[I*/JNIEXPORT jintArrayJNICALL Java_com_wuyudong_javapassdata_JNI_arrElementsIncrease(JNIEnv * env, jobject clazz, jintArray jArray){jsize len = (*env)->GetArrayLength(env, jArray);// jboolean iscopy;int* arrayPointer = (*env)->GetIntArrayElements(env, jArray, NULL);int i;for(i = 0; i < len; i++){*(arrayPointer + i) += 10;}return jArray;}

MainActivity.java中添加下面的代码:

    public void passIntArray(View v) {int[] array = new int[] { 1, 2, 3, 4, 5 };int[] newArray = jni.arrElementsIncrease(array);for (int i : newArray) {Log.d("test", i + "");}}

获取更多C相关知识,关注公众号:“csuanfa”

转载于:https://www.cnblogs.com/wuyudong/p/5634465.html

Android java传递int类型数组给C相关推荐

  1. Android java传递string类型数据给C

    本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...

  2. java实现int类型数组元素拷贝

    //知识点:实现int类型数组元素拷贝class ArrayElementCopy {public static void main(String[] args){int[] src = new in ...

  3. java数组及Arrays创建一个int 类型数组 数组元素由键盘录入,每次打印插入排序的结果(数组扩容,数组排序,键盘录入)

    @author silence丶你的名字 java数组及Arrays创建一个int 类型数组 数组元素由键盘录入,每次打印插入排序的结果 初始数组元素1 for死循环 获取用户录入的数据,如果为952 ...

  4. Java中char类型数组打印数组名输出结果不是地址值

    Java中其他类型数组打印数组名,输出结果都是内存地址 Java中char类型数组打印数组名,输出结果不是内存地址 char类型的数组就相当于一个字符串. 因为输出流System.out是PrintS ...

  5. 关于java中int类型的取值范围等问题

    java中int类型取值范围问题 java中int的类型占4个字节,与操作系统无关,要弄明白int的取值范围问题. 首先,我们来看一下byte的取值范围 byte 大小一个字节. 如:1111 111 ...

  6. java字段注解类型数组_Java注解用法

    Java注解用法 注解元素的提供值必须是编译时常量表达式,不能使用null作为注解中任何类型元素的值. 基本类型 注解类型中的元素的数据类型可以是任何基本数据类型:byte,short,int,lon ...

  7. java long 二进制输出格式_算法:java打印int类型的二进制格式

    java打印一个int类型的二进制 int类型占4个字节,一个字节8位,int共占32位.java中的int是无符号的(c语言还区分int整形和unsigned int无符号整型),取值范围 -231 ...

  8. Java打印int类型二进制

    在java中,int类型是4个字节,一共32位. java中int有正负,所以int类型表示范围位是 -(2^(31))到 2^(31)-1 如何打印一个int类型的变量的二进制? 因为有32位置,所 ...

  9. java 判断int类型为空

    int id = 10; if("0".equals(String.valueOf(id)) || "null".equals(String.valueOf(i ...

最新文章

  1. R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益
  2. META的SEO优化中方法技巧
  3. 第十六届全国大学生智能车竞赛百度智慧交通竞赛成绩
  4. Web基础:记录简单个人网站建站过程
  5. 大连开发区中老年运动微信群_消暑!大连近郊最受欢迎的海滨浴场集合来啦
  6. shopify二次开发教程_详细教程:如何将Shopify的Storefront API与React和Redux结合使用...
  7. Linux下性能监控工具介绍
  8. libevent源码深度剖析三
  9. POJ3342 Party at Hali-Bula(树型DP求最大独立集+唯一解判断)
  10. 考驾照科目一考试很顺利
  11. kali Linux的安装
  12. 删除远程桌面登录的记录(mstsc)
  13. Chrome 页面呈现原理与性能优化(内附分享 ppt)
  14. 【仅剩12小时】Python科研绘图教程,40+绘图案例(附完整代码)
  15. 1.STM32F103-点亮第一颗LED
  16. 你看这雪花如此的美丽
  17. 如何远程桌面局域网内计算机,如何使用远程桌面控制局域网中的另一台计算机...
  18. jQuery 3d云标签
  19. 李国杰披露AMD技术转让 只能看不能吃(全文版)
  20. mysqli _ fetch _ assoc()函数出现警告的原因

热门文章

  1. D3 scaleQuantize
  2. 20 Alarms, sigaction(), and Reentrant System Calls
  3. Java MyBatis 占位符
  4. 3.9 神经网络的梯度下降法
  5. 淮海工学院期末考试Oracle,【2017年整理】淮海工学院物理化学下册期末试题.doc...
  6. ssh登录发生加密算法报错解决办法
  7. vSAN ReadyNode™中可以(也不能)更改的内容
  8. 【2020】六家云厂商价格比较:AWS、阿里云、Azure、Google Cloud、华为云、腾讯云
  9. Docker学习总结(41)——三个技巧,将Docker镜像体积减小90%
  10. Java基础学习总结(19)——Java环境变量配置