Android蓝牙通讯模块源码(Android蓝牙开发浅析 续)
前一段时间研究了一下Android的蓝牙通讯,尝试在博客和论坛上发了个帖子,没想到文章竟然有2000多的访问,而且帖子还被版主设为了推荐(在此感谢版主~)实在超乎我的预料(本人菜鸟一只,容易激动~~)于是乎当即放出话,要编写一个蓝牙模块来方便大家使用,并且放出源码供大家学习~终于经过几天的设计和编码,终于完成了Android蓝牙通讯模块,话不多说,请往下看~~Android蓝牙
My Blog:http://www.outflush.com
这篇文章写的时间已经很早了,说实话我自己都不推荐诸位再去深研究了,蓝牙通讯相关的知识还是多去看官方文档。
这段时间仍然有很多热心的兄弟在私信我蓝牙相关通讯问题,其实不是我不想回复,实在是我自己都不知道怎么回,这篇文章是我在大学的时候做一个小项目的时候写的,现在这么长时间没搞android,实在是力不从心。。。诸位见谅,实在是不好意思
我现在在和人合伙做一个项目(装逼一点叫创业),产品是一个Mac平台的AppStore,Java、Objective-C都有涉及,如果有相关问题,可以联系我邮箱~
前一段时间研究了一下Android的蓝牙通讯,尝试在博客和论坛上发了个帖子,没想到文章竟然有2000多的访问,而且帖子还被版主设为了推荐(在此感谢版主~)实在超乎我的预料(本人菜鸟一只,容易激动~~)
于是乎当即放出话,要编写一个蓝牙模块来方便大家使用,并且放出源码供大家学习~
终于经过几天的设计和编码,终于完成了Android蓝牙通讯模块,话不多说,请往下看~~
Android蓝牙开发浅析 原文地址:http://blog.csdn.net/gd920129/article/details/7487761
该模块使用两个Service(服务器段Serivce和客户端Service)来分别控制服务器端和客户端的蓝牙通讯。
每个Service控制着若干线程
Service与其下属线程之间使用Handler进行通讯
Service与Activity之间的通讯使用Broadcast(广播)进行通讯
需要传递的数据通过一个自定义数据实体来进行传递
结构图:
通过Broadcast进行通讯的Action介绍:
服务器端Action列表:(同公用Action列表)
服务器与客户端公用Action列表:
ACTION_STOP_SERVICE:关闭后台服务。当程序退出或需要停止蓝牙服务时发送此广播
ACTION_DATA_TO_SERVICE:数据传送至后台Service。包含一个key为DATA的参数,该参数类型为实现了Serializable接口的类(该类为用户自己编写的数据实体类)。
ACTION_CONNECT_SUCCESS:连接成功。从后台Service发送出连接成功建立的广播。
ACTION_CONNECT_ERROR:连接错误。从后台Serivce发送出连接发生错误的广播。
ACTION_DATA_TO_GAME:从后台Service传送出数据。包含一个key为DATA的参数,该参数类型为实现了Serializable接口的类(该类为用户自己编写的数据实体类)。
客户端Action列表:
ACTION_START_DISCOVERY:开启蓝牙搜索。命令后台Service开始蓝牙搜索。
ACTION_SELECTED_DEVICE:选中的蓝牙设备。包含一个key为DEVICE的参数,该参数类型为BluetoothDevice(蓝牙设备类)。
用户需要从搜索到的蓝牙设备中选择服务器设备,选择设备后发送Broadcast,告知后台Service选择的蓝牙设备。
ACTION_FOUND_DEVICE:发现设备。后台Service进行搜索蓝牙设备过程中,每发现一个设备便会发送该Broadcast。
ACTION_NOT_FOUND_SERVER:未发现服务器设备。后台Service通过搜索并未发现可连接的蓝牙设备,发送此Broadcast。
蓝牙通讯模块源码及使用说明(下载链接)
CSDN下载链接(小弟没有资源分了,如果恰好您资源分多并且您想援助我一下就点此下载,需要资源分2分)
http://download.csdn.net/detail/gd920129/4289965 蓝牙通讯模块源码.zip
http://download.csdn.net/detail/gd920129/4290014 用于测试的源码(解压后为Eclipse工程文件夹,可直接导入使用。由于时间紧,测试代码并不完善,主要还是看我是如何使用通讯模块的)
华为网盘下载链接(资源同上,但是免费~~,╮(╯▽╰)╭ 同为无分人,相煎何太急~~~)
http://dl.vmall.com/c0zby6r7u9 蓝牙通讯模块源码.zip
http://dl.vmall.com/c04ph761cm 用于测试的源码(解压后为Eclipse工程文件夹,可直接导入使用。由于时间紧,测试代码并不完善,主要还是看我是如何使用通讯模块的)
更多推荐
所有评论(0)