
Android系统编程 Jni编程及实例
BigBee3.
这个作者很懒,什么都没留下…
展开
-
Android Jni 多线程 蓝牙串口收发 实例 二
整个串口模块功能已经完成了。但需求又来了现在外接一个MCU模块与MTK也是通串口相连,如果我们要把代码变得更容易复用,新模块在更少的代码量上接入,那该怎么做呢。在蓝牙功能模块里我们通过测试后发现一个问题,如果中途有不正常关闭,再次启动就启不来了。这个问题是因为JNI的线程没有正常退出,程序退出后还在后台运行,影响一下次程序启动。 我们先回顾一下我们之前的程序架原创 2015-11-10 18:05:46 · 1674 阅读 · 0 评论 -
Jni 常用工具函数
Jni编程会用到的工具函数,做积累1. 打开文件路径,返回文件描述符给Java1234567891011121314151617181920212223242526原创 2015-11-10 17:55:04 · 1276 阅读 · 0 评论 -
Android Jni 基础笔记
记录一下Jni的实际开发中会遇到的一些问题。首先说说Jni的两种加载方式,分别是动态注册和静态注册。静态注册:静态注册就是根据Java的函数名和Jni的函数名,按照一定的关系进行联系。Jni层的命名方式必须遵循一定的规则。动态注册:在Jni层,把一个函数映射表注册给Java虚拟机。这样Jvm就可以通过函数列表来找到对应的函数。就可以不必通过函数名来查找需要调用的函数了。原创 2015-11-10 17:50:59 · 996 阅读 · 0 评论 -
Jni 两种方法打开底层文件返回FD给Java
打开文件在底层open一个文件时只是返回一个fd号,而Java打开一个文件用的是FileDescriptor来打开一个文件,如何在两者之间建立一个联系呢?有两种方法:方法一:在jni层有提供一个API,jniCreateFileDescriptor(env, fd); 生成的是一个临时变量,最终还是要通过NewObject创建一个对象才能return回去。在Android.mk里还原创 2015-11-10 17:57:42 · 6467 阅读 · 1 评论 -
Android Jni 多线程 蓝牙串口收发 实例 一
在工作有一个这样的需求:在一个Android App上,通过串口对一个蓝牙进行操作,其中包括发送消息,接收消息,并进行处理。 =========================项目心得和遇上的问题总结========================= 要实现这些功能,有很多种:多线程可以放在Jni层,这样接收和消息的整理逻辑都在Jni层,这样程序就会变得复杂一些,因为你原创 2015-11-10 18:02:13 · 3874 阅读 · 0 评论