Android java传递int类型数组给C
接着前面的文章《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相关推荐
- Android java传递string类型数据给C
本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...
- java实现int类型数组元素拷贝
//知识点:实现int类型数组元素拷贝class ArrayElementCopy {public static void main(String[] args){int[] src = new in ...
- java数组及Arrays创建一个int 类型数组 数组元素由键盘录入,每次打印插入排序的结果(数组扩容,数组排序,键盘录入)
@author silence丶你的名字 java数组及Arrays创建一个int 类型数组 数组元素由键盘录入,每次打印插入排序的结果 初始数组元素1 for死循环 获取用户录入的数据,如果为952 ...
- Java中char类型数组打印数组名输出结果不是地址值
Java中其他类型数组打印数组名,输出结果都是内存地址 Java中char类型数组打印数组名,输出结果不是内存地址 char类型的数组就相当于一个字符串. 因为输出流System.out是PrintS ...
- 关于java中int类型的取值范围等问题
java中int类型取值范围问题 java中int的类型占4个字节,与操作系统无关,要弄明白int的取值范围问题. 首先,我们来看一下byte的取值范围 byte 大小一个字节. 如:1111 111 ...
- java字段注解类型数组_Java注解用法
Java注解用法 注解元素的提供值必须是编译时常量表达式,不能使用null作为注解中任何类型元素的值. 基本类型 注解类型中的元素的数据类型可以是任何基本数据类型:byte,short,int,lon ...
- java long 二进制输出格式_算法:java打印int类型的二进制格式
java打印一个int类型的二进制 int类型占4个字节,一个字节8位,int共占32位.java中的int是无符号的(c语言还区分int整形和unsigned int无符号整型),取值范围 -231 ...
- Java打印int类型二进制
在java中,int类型是4个字节,一共32位. java中int有正负,所以int类型表示范围位是 -(2^(31))到 2^(31)-1 如何打印一个int类型的变量的二进制? 因为有32位置,所 ...
- java 判断int类型为空
int id = 10; if("0".equals(String.valueOf(id)) || "null".equals(String.valueOf(i ...
最新文章
- R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益
- META的SEO优化中方法技巧
- 第十六届全国大学生智能车竞赛百度智慧交通竞赛成绩
- Web基础:记录简单个人网站建站过程
- 大连开发区中老年运动微信群_消暑!大连近郊最受欢迎的海滨浴场集合来啦
- shopify二次开发教程_详细教程:如何将Shopify的Storefront API与React和Redux结合使用...
- Linux下性能监控工具介绍
- libevent源码深度剖析三
- POJ3342 Party at Hali-Bula(树型DP求最大独立集+唯一解判断)
- 考驾照科目一考试很顺利
- kali Linux的安装
- 删除远程桌面登录的记录(mstsc)
- Chrome 页面呈现原理与性能优化(内附分享 ppt)
- 【仅剩12小时】Python科研绘图教程,40+绘图案例(附完整代码)
- 1.STM32F103-点亮第一颗LED
- 你看这雪花如此的美丽
- 如何远程桌面局域网内计算机,如何使用远程桌面控制局域网中的另一台计算机...
- jQuery 3d云标签
- 李国杰披露AMD技术转让 只能看不能吃(全文版)
- mysqli _ fetch _ assoc()函数出现警告的原因
热门文章
- D3 scaleQuantize
- 20 Alarms, sigaction(), and Reentrant System Calls
- Java MyBatis 占位符
- 3.9 神经网络的梯度下降法
- 淮海工学院期末考试Oracle,【2017年整理】淮海工学院物理化学下册期末试题.doc...
- ssh登录发生加密算法报错解决办法
- vSAN ReadyNode™中可以(也不能)更改的内容
- 【2020】六家云厂商价格比较:AWS、阿里云、Azure、Google Cloud、华为云、腾讯云
- Docker学习总结(41)——三个技巧,将Docker镜像体积减小90%
- Java基础学习总结(19)——Java环境变量配置