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. 把具体设备差异交给子类实现
相关推荐
陆断枫8 小时前
Flutter 3.47 动画引擎盘点:Impeller 全平台,和那些"新特性"
flutter
程序员老刘9 小时前
Flet 1.0 思路很好,可惜来晚了
flutter·ai编程·客户端
m0_7381858215 小时前
Flutter 鸿蒙化实战:qr_code_scanner_plus 适配 OpenHarmony,二维码扫描
flutter·华为·harmonyos·鸿蒙
恋猫de小郭15 小时前
Flutter + EmbeddingGemma 2,谷歌发布完全端侧的 AI Edge Foresight
android·前端·flutter
君赏1 天前
基于 FlutterPatch 快速接入 Flutter 热更新
flutter
律宏阔1 天前
Dart FFI 内存管理:用 using + Arena 替代嵌套 try-finally
前端·flutter
律宏阔1 天前
Flutter 调用 Go:从 c-shared + ffigen 到 @Native + Native Assets 踩坑记录
前端·flutter
律宏阔1 天前
Dart FFI 回调无法使用局部变量?使用 NativeCallable.isolateLocal
前端·flutter
天空之城--1 天前
Android一周动态:AI编程、Compose与车载生态新信号
android·flutter
码林鼠2 天前
Flutter之Widget/State 入门文档
flutter