概述
DreisamLib 是一款用于设备连接与数据交互的SDK,提供设备连接管理、数据同步、历史数据获取等功能,适用于需要与特定设备进行通信的应用开发。初始化相关方法
预初始化
- 功能:SDK预初始化,必须在
Application.onCreate函数主线程中调用 - 特点:
- 耗时极少,不影响App首次冷启动体验
- 不采集设备信息
- 参数:
context- 应用上下文(Application实例)
正式初始化
- 功能:完成SDK的正式初始化
- 调用时机:可在预初始化后调用,耗时极少,不影响主线程,必须调用
- 参数:
appId- 开放平台生成的appIdbuilder- 配置构建器(用于配置SDK参数)
反初始化
- 功能:反初始化SDK,释放相关资源,退出时候调用,该方法会清除所有数据。
设备连接管理
检查连接前置条件
可在连接前检查连接的必要条件,开发者也可根据Demo自行进行权限检查
- 功能:检查系统授权及网络鉴权等连接前置条件
- 参数:
listener- 前置检查监听器,用于接收检查结果
连接指定设备
连接指定的设备,扫描到设备的二维码后,把设备信息传入
- 首次连接 开发者可在连接成功的回调中向服务器发起绑定请求.
- 已经绑定 根据服务器绑定的设备信息,进行连接即可.
- 功能:连接指定名称的设备
- 参数:
deviceName- 待连接的设备名称
设置连接状态监听器
- 功能:设置设备连接状态监听器
- 参数:
onConnectListener- 连接状态监听器实例
注: SDK内部实现了自动重连逻辑,开发者不需要处理断开重连。只需要做更新UI等业务逻辑即可。如果设备断开,SDK会在30s后尝试重新连接,如果重连失败,App在前台,延时后再次尝试连接,直到连接成功为止;如App在后台,因Android系统的进程管理,后台频繁操作会导致应用被挂起,则会等待心跳包再次连接。
检查设备连接状态
- 功能:检查设备是否已连接
- 返回值:
true表示已连接,false表示未连接
断开设备连接
- 功能:断开当前设备连接
心跳检测
启动心跳检测
用于检测设备连接状态,每5分钟执行一次,如果未连接,SDK会重新尝试连接设备。开发者也可自己实现
- 功能:启动设备心跳检测
停止心跳检测
应用退出等场景可以调用
- 功能:停止设备心跳检测
数据相关方法
设置数据同步监听器
- 功能:设置数据同步状态监听器
- 参数:
callBack- 同步状态监听器实例
注:
- 正常情况下:回调的是SDK与设备未同步过的新数据
- 更换新手机或退出登录后:会回调全部的数据上来,开发者可以根据自身服务器存储的最后一条消息,筛选需要的数据。
获取历史数据
- 功能:获取指定时间范围内的历史数据
- 参数:
startTime- 开始时间戳(秒级)endTime- 结束时间戳(秒级)callBack- 历史数据回调接口
设置实时数据回调
设备上报的数据,正常状态下3分钟回调一次
- 功能:设置实时数据回调监听器
- 参数:
listener- 实时数据分析回调实例
日志相关
设置连接日志监听器
- 功能:设置连接日志监听器
- 参数:
onConnectLogListener- 日志监听器实例
监听器接口
OnPreCheckListener
连接前置条件检查监听器OnAnalzeDatatListener
实时数据分析监听器OnConnectListener
连接状态监听器OnConnectLogListener
连接日志监听器OnHistoryDatasCallBack
历史数据回调接口OnSyncDatasCallBack
数据同步监听器枚举类型
ConnectingState
连接状态枚举注: DEVICE_CONNECTING和SHOW_CONNECTING区别:
DEVICE_CONNECTING设备断开就会回调SHOW_CONNECTING用户关注的显示连接中,如果最近的数据不是最新的数据,需要更新并且设备还未连接,才会回调。
数据模型
DreisamGlucoseModel
血糖数据模型使用流程建议
- 在
Application.onCreate()中调用preInit()进行预初始化 - 合适时机调用
initSDK()完成正式初始化 - 设置必要的监听器(连接状态、数据同步等)
- 调用
checkPreConditions()检查前置条件 - 前置条件满足后,调用
connectDevice()连接设备 - 设备连接成功后,可进行数据同步、获取历史数据或接收实时数据
- 不需要使用时,调用
disconnect()断开连接,必要时调用unInit()释放资源
