前一段时间研究了一下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工程文件夹,可直接导入使用。由于时间紧,测试代码并不完善,主要还是看我是如何使用通讯模块的)
分享到:
相关推荐
蓝牙通讯源码(包含使用文档)
Android 蓝牙配对连接源码分析文档大全,非常详细的从btif-bta-btm-hci 数据流程走向,以及从controller收到数据到btm层,将Android 源码每个函数都摘录出来,进行分析,使Android 蓝牙开发者更清楚数据收发走向,...
android 蓝牙开发源码,蓝牙扫描!
蓝牙通讯模块_的测试源码。解压后是eclipse工程文件,可以直接导入。用于测试,仓促完成,不太完善,主要是表现如何调用蓝牙通讯模块。 蓝牙通讯模块的包名为com.ds.bluetoothUtil
android 蓝牙开发源码2设置蓝牙的状态!
Android 蓝牙BLE全面解析以及智能车锁开发实例一、蓝牙BLE产生背景——蓝牙的发展历程 二、蓝牙BLE的基本概念 三、蓝牙BLE的架构介绍 1. 蓝牙BLE架构概览 2. 简述BLE如何发送数据包 2.1 广播方式 2.2 连接方式 四、...
本项目源码可以实现两个蓝牙间的单方面通讯,可能是因为某些原因蓝牙客户端...博主半夜找了两个手机大体测试了一下,可以实现两个蓝牙通讯,但是只是单方面的。只能是客户端消息发往服务端。客户端收不到服务端的消息。
如果您有android源码,并像分析蓝牙源码模块的简单内容,可以看看此文档,这只是简单的ppt文档
Android 蓝牙开发 源码 希望对大家有帮助!
Android 蓝牙服务发现SDP协议初始化、连接等源码流程图,非常详细的从btif-bta-btm-hci 数据流程走向,以及从controller收到数据到btm层,将Android 源码使用流程图的形式画了出来,使Android 蓝牙开发者更清楚数据...
Android 蓝牙串口调试助手源码,在Android最新版本上验证过能用。 主要功能: 1.搜索连接设备; 2.按字节数接收对齐; 3.发送接收都支持ASCII与HEX切换; 4.定时发送; 5.暂停接收,清除窗口数据
android 蓝牙聊天的应用源码,非常的使用
非常不错的安卓蓝牙程序,实现蓝牙聊天功能,对于初学安卓蓝牙的同学可以参考哦
Android应用源码之android蓝牙连接打印机
android 蓝牙聊天源码
买别人的代码,这里分享。已经编译生成apk。可以改源码供自己需要。
蓝牙通讯模块_的测试源码。解压后是eclipse工程文件,可以直接导入。用于测试,仓促完成,不太完善,主要是表现如何调用蓝牙通讯模块。 蓝牙通讯模块的包名为com.ds.bluetoothUtil
源码参考,欢迎下载
这是使用QT编写,在Android手机上使用的BLE低功耗蓝牙调试助手。用于调试低功耗蓝牙的数据通信。 本软件是一款BLE蓝牙串口调试助手,支持常规的发送和接收调试,BLE是低功耗类型蓝牙,在智能家居、物联网领域使用较...
AndroidStudio芯烨蓝牙打印机打印源码 开发IDE:Android Studio