最近做了一个关于蓝牙通信的练习项目,自己查询了相当部分的资料,在总结了各位前辈的经验后,也将自己的收获付上,跟大家一起分享。
首先在学习这个实例前请大家仔细阅读并理解Socket的工作原理和实现机制。有助于快速掌握本篇内容。
大致分为三个步骤
一、在主Activity中,先得到本地BluetoothAdapter设备,检查是否支持。在onStart()中检查是否启用蓝牙,并请求启用,然后执行setupChat()。setupChat()中先对界面中的控件进行初始化增加点击监听器等。
二、创建BluetoothChatService对象,该对象在整个应用过程中存在,并执行蓝牙连接建立、消息发送接受等实际的行为。
三、创建一个DeviceListActivity,该类包含UI和操作的Activity类,作用是得到系统默认蓝牙设备的已配对设备列表,以及搜索出的未配对的新设备的列表。然后提供点击后发出连接设备请求的功能。
蓝牙通信虽然简单,但是信息量较大,非常适合初学者学习,先付上蓝牙通信的工作原理图,代码由于UI的关系,下期再付上,如果有不对的地方或有更好的见解,欢迎大家提出,多多交流!
蓝牙设备连接的过程如下图所示:
下面这张图展示的是蓝牙聊天的时序图:
蓝牙设备连接的过程如下图所示:
下面这张图展示的是蓝牙聊天的时序图: