Charge-BleDevice

作用:BleDevice 是整个蓝牙架构的**"发动机"** !它是所有蓝牙设备类的**抽象基类。**蓝牙设备抽象父类,封装连接、断开、读取、开启通知等通用逻辑。

管理哪些状态

复制代码
- device:真实蓝牙设备
- rssi:信号强度
- connectState:连接状态
- _connecting:是否正在连接
- _manual:是否手动断开
- _stateStream:连接状态监听

重要的方法

复制代码
- connect():建立连接并监听状态
- disconnect():断开连接
- setNotify():开启特征值通知
- read():读取特征值
- discoveryService():交给子类实现
- onConnected():交给子类实现
- onDisconnect():交给子类实现

与设备通信的逻辑线

复制代码
连接设备
  -> 发现服务
  -> 找特征值
  -> 开启通知
  -> 发命令
  -> 收数据
  -> 解析数据
  -> 更新页面

整体作用

复制代码
1. 保存蓝牙设备对象
2. 保存信号强度 rssi
3. 管理连接状态
4. 防止重复连接
5. 监听蓝牙连接状态变化
6. 连接成功后触发服务发现
7. 断开连接后做清理
8. 提供 read 和 notify 的通用方法
9. 把具体设备差异交给子类实现
相关推荐
子非鱼94277 小时前
07-Flutter 鸿蒙实战 07:故事集列表与缓存设计
学习·flutter·缓存·华为·harmonyos
子非鱼94279 小时前
08-Flutter 鸿蒙实战 08:故事详情页,编辑、删除、重新生成与底部弹层
flutter·华为·harmonyos
子非鱼942710 小时前
06-Flutter 鸿蒙实战 06:上传后处理流程,照片识别、故事生成和状态刷新
学习·flutter·华为·harmonyos
sTone8737513 小时前
写时复制COW的第一性理解
android·c++·flutter
nicepainkiller13 小时前
codex 逆向 flutter
flutter·flutter 逆向
帅次13 小时前
Android 高级工程师面试:Flutter 路由导航 近1年高频追问 18 题
android·flutter·面试
浮江雾14 小时前
Flutter第七节-----快捷键创建组件与flutter中的点击事件
flutter
想你依然心痛1 天前
【共创季稿事节】HarmonyOS 7.0 应用框架(ArkUI-X)跨平台能力深度探索
flutter·react native·arkui-x·跨平台渲染·harmonyos 7.0·arkrender·组件兼容性
SoaringHeart1 天前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter