栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android BLE蓝牙调试工具的研发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android BLE蓝牙调试工具的研发

由于工作需要,硬件设备这边需要软件的支持。因此,用到BLE蓝牙相关的功能,为了快捷开发
在大佬 陈利建 — github FastBle
基础上做了一些功能修改以及数据处理

首先说一下我的项目需求:

  1. 扫描外围设备,可正常连接
  2. 让设备与客户端app处于一直连接的状态,除非人为断开连接等不可控因素
  3. 可支持多设备连接,并且获取数据(这里多设备连接,没有用gitHub上面的,这里自己做的处理)
  4. 只要设备和客户端处于连接状态,硬件发送数据,客户端就展示数据
  5. 对于数据处理页面,在输入框那里自己做了一些数据模糊处理,以及不区分大小写
  6. 可读取设备发送的最近一次数据并展示
  7. 读取的数据展示原始数据,并进行解析(数据存储到手机内存中,可随时查看数据情况)
App详情:

对于App研发的具体流程:

  • 对其框架进行全局初始化以及配置
public class BlueTooth extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        init();
    }

    private void init() {
        //初始化及配置
        BleManager.getInstance().init(this);
        BleManager.getInstance()
                .enableLog(true)
                .setReConnectCount(1, 5000)
                .setOperateTimeout(5000);

        
    }
}
  • 扫描外围设备

  • 找到需要配对的设备,并进行连接

  • 前面都是比较简单的部分,难点主要在于数据处理

    1.把需要连接处理的设备单独封装

    2.输入框的处理
    (1)设置输入框,并且对其数据进行监听处理
             监听这里应用的是TextWatcher()

    (2)对输入框UUID进行模糊、大小写处理
             关于EditText大小写处理:Java equalsIgnoreCase() 方法

             模糊处理:

    工具类详情:https://download.csdn.net/download/chen_md/21105756

    (3)用户第一次进入数据处理活动页需要对输入框进行操作;第二次进入时无需输入,自动记录上次用户填写的数据
           这里可以参考我写的这篇文章:android EditText和SharedPreferences保存数据之项目实战

    3.接收设备发送过来的数据(notify打开通知)

    4.获取最近的一次数据(write给设备发送指令,并接收数据)
       发送数据 —> 头字节 + 命令码 + 尾字节(异或校验)

    结尾有做蓝牙的码农欢迎骚扰共同交流、学习!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273528.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号