天天看點

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

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。