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" > <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="传递int类型参数" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="passString"
android:text="传递String类型参数" /> <Button
android: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 jintArray
JNICALL 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 = ; i < len; i++){
*(arrayPointer + i) += ;
}
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”
Android java传递int类型数组给C的更多相关文章
- Android java传递int类型数据给C
本文根据<Android jni简便开发流程>中的开发流程来实现一个java传递int类型数据给C 新建项目,进行简单的布局 <LinearLayout xmlns:android= ...
- Android java传递string类型数据给C
本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...
- 75 int类型数组中除了一个数出现一次或两次以外,其他数都出现三次,求这个数。[2行核心代码]
[本文链接] http://www.cnblogs.com/hellogiser/p/single-number-of-array-with-other-three-times.html [题目] i ...
- java将int类型的变量转化成String类型的
第一种方法:String的valueOf方法,int i=5;String s=String.valueOf(i);第二种方法,直接在int后面加一个空的字符串,因为在java里面,默认任务int类型 ...
- java里int类型转byte类型
今天在做书上的一个例子的时候, 要使用byte类型,首先我很直接的就写到了byte b = 0XAA, 结果报错, 说从int转换到byte可能会有损失. 我当时就很奇怪, 为什么会出现这种情况呢? ...
- java 判断int类型为空
int id = 10; if("0".equals(String.valueOf(id)) || "null".equals(String.valueOf(i ...
- java 13-3 int类型的包装包Integer
1.Integer的概述 需求1:把100这个数据的二进制,八进制,十六进制计算出来 需求2:判断一个数据是否是int范围内的. 首先你得知道int的范围是多大? 为了对基本数据类型进行更多的操作, ...
- Android NDK 开发(四)java传递数据到C【转】
转载请注明出处:http://blog.csdn.net/allen315410/article/details/41845701 前面几篇文章介绍了Android NDK开发的简单概念.常见错误及处 ...
- [改善Java代码]避开基本类型数组转换列表陷阱
开发中经常用到Arrays和Collections这两个工具类. 在数组和列表之间进行切换.非常方便.但是也会遇到一些问题. 看代码: import java.util.Arrays; import ...
随机推荐
- Fundamentals of MVC
Chapter 1 Fundamentals of MVC Microsoft's Web Development Platforms Understanding the past can b ...
- Visual Studio 2012 Update 4 RC 启动调试失败解决方案
以下解决办法适用于任何Visual Studio开发环境,及Windows NT 6.1以上系统. 系统:Windows 8.1 Enterprise x64 RTM 开发环境:Visual Stud ...
- ligerUI布局时,Center中的Tab高度太小问题解决
1.0 引用的js,css <link href="/Content/scripts/ligerUI/skins/Aqua/css/ligerui-all.css" rel= ...
- foreach DataTable或Table时要略过第一行。
昨天有续写一个练习<输入数字动态创建行(二)>http://www.cnblogs.com/insus/p/4916260.html ,最终是需要把数据存入数据库中. 在循环ASP:Tab ...
- 聊一下C#开发者如何过渡到JAVA 开发者
由于工作需要,最近也开始倒腾Java了.NET的话,从2012年测试版开始玩的,那个时候VB6比较熟悉,还天真的以为VB.NET以后会很火, 事实证明,也只是一厢情愿,有C#了,要VB.NET干什么? ...
- 职责链模式(chain of responsibility)
一. 写在前面的 这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式. 因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不够合理.所 ...
- SSH实例(7)
运行结果. 浏览课程: 添加课程: 还有删除课程,这里就不演示了.
- 关于MySQL里的found_row()和row_count()解释及用法 [复制链接]
kider 电梯直达 1# 发表于 2010-8-31 16:06:04 | 只看该作者 |倒序浏览 |阅读模式 出处:mysqlpub.com MySQL中有两个函数来计算上 ...
- luogg_java学习_01_JAVA基本概述
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 1.1基础常识 常用的dos命令 dir 列出当前目录 ...
- 利用FileStream实现多媒体文件复制
利用FileStream实现多媒体文件复制的主要思路在于利用两个FileStream对象,一个读取字节,另一个对象写入字节既可. 涉及知识点: 1.通常我们操作的File类,FileS ...