安卓上的蓝牙通讯📡

一直想花时间使用一下安卓的蓝牙,在学妹的激励下终于完成了这个心愿
这个app实现的功能是通过蓝牙连接单片机,在app中设置相应的四个参数发送,app可能通过特定的编码格式发送至下位机,同时后台接受下位机返回的数据,解码后显示在app的相应控件中。

代码在这:github这个用的是比较旧版本的sdk和eclipse,所以呢如果想要用的话就直接吧对应的类扒出来用吧,另外这一部分工作是统一上传的,所以和别的工程放在同一个repository里了,见谅

我觉得我这个界面特别好看,抄的是ingress的配色。后来做的一些软件,也都沿用了这个风格。

最底部的终端是调试用的,显示一些报错信息什么的,挺有用的,就留下来了。

蓝牙初始化连接,放在这个按钮监听器中,搜索制定名称的蓝牙设备:

由于android中只允许主线程操控控件,而项目中需要使用多线程接收数据,
这里提供的解决方法是:
使用Handler这一个消息相应的类,在主线程中创建,副线程监听消息,即时同时handler处理事务

监听线程,监听同时筛选信息,讲需要传递的信息赋值给全局变量mess,通知handler去读取这个信息。

早期写的代码真的有点脏乱差。。后来我把蓝牙的使用封装在一个类里了,应该后期也会上传。

发表回复