天天看点

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

  最近项目有个需求,手机设备连接多个蓝牙4.0 设备 并获取这些设备的数据。

  查询了很多资料终于实现,现进行总结。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

    从零开始实现一个连接多个蓝牙4.0 设备并获取数据的 Demo

  注:如果不想看实现过程的,直接看最下面的demo源码即可,或每一步后相关操作步骤的完整代码。

  

  一、Demo需求

    1、搜索设备 , 选择多个要连接的设备。

    2、开始连接,显示数据。

  二、项目知识储备

    项目中需要用到的三方:

    1、RecyclerView 

       列表,用于显示扫描得到的所有蓝牙设备

    2、BaseRecyclerViewAdapterHelper

       Recyclerview 帮助框架,快速实现列表操作 

    3、eventbus

      用于消息传递,获取到蓝牙传送的数据之后,刷新界面显示数据时使用

    4、bluetooth-manager

      蓝牙4.0框架

    5、permissionsdispatcher

     权限管理,适配6.0+设备

     

    添加依赖 gradle.bulld文件

  三、项目实现,布局文件

    1、demo中一共用到两个activity 对应两个布局文件

 

     先看扫描设备界面

     包含:

      1、一个列表,显示 所有扫描到的设备的MAC地址,点击状态在 ''已选择' or '‘未选择’ 之间改变,表明当前设备有没有加入到需要连接的设备集合中

     2、扫描按钮

     3、结束扫描按钮

     4、完成选择按钮,将选择的设备MAC地址传回 

     

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

    连接界面。

    包含:

    1、选择需要连接的传感器设备 按钮

    2、开始连接 按钮

    3、数据展示

    

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

    布局文件代码:

    四、Activity实现

    1、扫描 设备 选择设备Activity

    (1)、变量声明

    关键代码:

    (1)、蓝牙扫描的初始化设置

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

蓝牙扫描设置初始化

    (2)、开始扫描按钮 操作

    (3)、停止扫描按钮 操作

    (4)、RecyclerView初始化 ,点击事件操作

  activity全部代码:

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

SelectDeviceActivity.class

  适配器相关代码:

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

ScanDeviceAdapter.class

  适配器布局代码:

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

item_device.xml

    2、连接多设备,获取数据并展示Activity 

    (1)、变量声明

    2、关键代码

    1、权限适配

    注意:不止蓝牙权限,位置权限也需要打开

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

权限适配

    2、蓝牙开启、连接等 初始化设置

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

initBle

    3、开始连接操作

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

connectBle

activity全部代码:

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

XBleActivity.class

----------------------------------------------------------------------------------------------------------------------------------------------------------

项目地址:

https://github.com/BestCoderXQX/MagkareBle4.0

项目使用说明:

1、点击按钮:'选择需要连接的传感器设备'、跳转新界面

2、点击'开始扫描'按钮,会出现很多设备的mac地址 ,以列表的新式展现

3、对列表item操作,更改状态'已选择'or'未选择'

4、点击按钮'完成选择设备'按钮,将列表中状态为'已选择'的mac集合传回上个界面

5、点击'开始连接'按钮。连接开始,显示连接设备的数据。(注意,这里是按我的传感器来的。实际需要换成你所用到的设备的 数据 转换公式!)

框架使用说明:

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

View Code

如有问题,欢迎右侧加群。

作者:听着music睡

出处:http://www.cnblogs.com/xqxacm/

Android交流群:38197636

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。