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. 把具体设备差异交给子类实现
相关推荐
传奇开心果编程4 小时前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
程序员老刘7 小时前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·客户端
恋猫de小郭16 小时前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
好的佩奇1 天前
Dart 之类修饰符
android·flutter·dart
好的佩奇012 天前
Dart 之类修饰符
android·flutter·dart
Jewel1052 天前
文字为什么总是不居中!记录一个bug
android·flutter·ios
2601_949847752 天前
Form-data 跨端三方库仓颉适配全流程
前端·javascript·flutter
大龄秃头程序员3 天前
Flutter 中我为什么把 GetX 定位为高效率方案,而不是默认架构方案
flutter
传奇开心果编程3 天前
组合优先开发范式:从汉字造字原理到声明式UI组件组合思想
android·flutter·ios·swiftui·移动开发·harmonyos·android jetpack
2501_944521593 天前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php