最近做的Android项目需要调用C代码,进行串口通信及与硬件设备通信,因此要用到JNI,其中本地代码需要向Java层返回三个参数,分别为 参数一:int型: 参数二: 通信指令,本地代码中为unsigned char[]型,返回unsigned char[].int[]都可以,能直接将数据转换为16进制字符串最好(Android界面上要显示的就是数组每一位的16进制值): 参数三:同参数二. 具体的实现方式有两种. 第一种是C代码获取Java属性参数,本地修改参数值. 第二种是将三个参数定义为…
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launcher Activity”. 修改AndroidMainifest.xml中的内容: <activity android:name=".FirstActivity" android:label="第一个活动"> <intent-filter> <…
使用意图传递数据的几种方式 点此获取完整代码 我们除了要从活动返回数据,也经常要传递数据给活动.对此我们能够使用Intent对象将这些数据传递给目标活动. 1.创建一个名为PassingData的项目,在activity_main.xml文件里加入一个Button: <Button android:id="@+id/btn_SecondActivity" android:layout_width="fill_parent" android:layout_hei…
视频建议采用超清模式观看, 欢迎点击订阅我的优酷 意图 Intent 一个应用程序肯定不只有一个界面,如何切换到其它界面,只时候就需要启动其它的Activity.启动Activity有多种方式.我在这简单总结下: 学习开启其它的Activity,首先需要了解意图: Intent是在不同组件中(比如两个Activity)提供运行时绑定的对象.Intent代表一个应用"想去做什么事",你可以用它做各种各样的任务,不过大部分的时候他们被用来启动另一个Activity. 显示意图 显示意图顾名…
首先在 Android Manifest 文件中注册 intent-filter <activity android:name=".MainActivity" android:launchMode="singleTask" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.in…
我们要讲E类中的数据变化通知A类,这样通过接口F来实现.具体原理就是E的每次数据改变都让其通知接口:而A类继承接口,所以每次E的调用接口都会触发A类的数据更改事件的触发. 首先创建一个类E: public class E {    private E context; private static int i = 0; E() {          context = this;    } public void start() {          new Thread(new Runnabl…
1.向下一个活动传递数据 String data ="bilibilbilbilbili"; Intent intent1=new Intent(this,secondActivity.class); intent.putExtra("extra_data",data);//第一个参数为转过去的标记名,第二个参数是本活动的参数名 2.对上一个活动获取数据 Intent intent2=getIntent();//获得上个活动的Intent String data=i…
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法的中文API Android JNI学习(五)——Demo演示 1.注册native函数 2.JNI中的签名 3.native代码反调用Java层代码 思维导图如下: image.png 前面两篇文章简单的介绍了JNI,下面我们就进一…
转载:http://www.linuxidc.com/Linux/2014-03/97561.htm Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层.我简单地总结了一下,从Java层到Jni层,从Jni层到JAVA层,各有3种传递方式,下面用代码示例简单地介绍一下. 示例代码的主要文件有两个…
Android平台很多地方都可以看到jni的身影,比如之前接触到一个投屏的项目,主要的代码是c/c++写的,然后通过Jni供Java层调用;另外,就拿Android系统中的Service来说,很多的Service都有java层代码和native层代码组成,native层代码会在android启动的过程中完成向java层的注册.总之,由于无法甩开jni的身影,所以我打算花点时间系统的学习下Android下的jni开发. 一.开发工具 所谓工欲善其事,必先利其器,在学习android系统的jni编程…