跳转到主要内容

DreisamLib SDK 开发文档

概述

DreisamLib 是一款用于设备连接与数据交互的SDK,提供设备连接管理、数据同步、历史数据获取等功能,适用于需要与特定设备进行通信的应用开发。

初始化相关方法

预初始化

void preInit(Application context)
  • 功能:SDK预初始化,必须在Application.onCreate函数主线程中调用
  • 特点
    • 耗时极少,不影响App首次冷启动体验
    • 不采集设备信息
  • 参数context - 应用上下文(Application实例)

正式初始化

void initSDK(DreisamLibBuilder builder)
  • 功能:完成SDK的正式初始化
  • 调用时机:可在预初始化后立即调用,或在后台线程延迟调用,但必须调用
  • 参数builder - 配置构建器(用于配置SDK参数)

反初始化

void unInit()
  • 功能:反初始化SDK,释放相关资源

设备连接管理

检查连接前置条件

void checkPreConditions(OnPreCheckListener listener)
  • 功能:检查系统授权及网络鉴权等连接前置条件
  • 参数listener - 前置检查监听器,用于接收检查结果

连接指定设备

void connectDevice(String deviceName)
  • 功能:连接指定名称的设备
  • 参数deviceName - 待连接的设备名称

设置连接状态监听器

void connectListener(OnConnectListener onConnectListener)
  • 功能:设置设备连接状态监听器
  • 参数onConnectListener - 连接状态监听器实例

检查设备连接状态

boolean isDeviceConnected()
  • 功能:检查设备是否已连接
  • 返回值true表示已连接,false表示未连接

断开设备连接

void disconnect()
  • 功能:断开当前设备连接

心跳检测

启动心跳检测

void startHeartbeat()
  • 功能:启动设备心跳检测

停止心跳检测

void stopHeartbeat()
  • 功能:停止设备心跳检测

数据相关方法

设置数据同步监听器

void setSyncDatasListener(OnSyncDatasCallBack callBack)
  • 功能:设置数据同步状态监听器
  • 参数callBack - 同步状态监听器实例

获取历史数据

void getHistory(long startTime, long endTime, OnHistoryDatasCallBack callBack)
  • 功能:获取指定时间范围内的历史数据
  • 参数
    • startTime - 开始时间戳(秒级)
    • endTime - 结束时间戳(秒级)
    • callBack - 历史数据回调接口

设置实时数据回调

void realTimeDataCallBack(OnAnalzeDatatListener listener)
  • 功能:设置实时数据回调监听器
  • 参数listener - 实时数据分析回调实例

日志相关

设置连接日志监听器

void setConnectLog(OnConnectLogListener onConnectLogListener)
  • 功能:设置连接日志监听器
  • 参数onConnectLogListener - 日志监听器实例

监听器接口

OnPreCheckListener

连接前置条件检查监听器
public interface OnPreCheckListener {
    /**
     * 系统授权状态变化
     * @param granted 是否授权通过
     * @param missingPermissions 缺失的权限列表
     */
    void onSystemPermissionChanged(boolean granted, List<String> missingPermissions);
}

OnAnalzeDatatListener

实时数据分析监听器
public interface OnAnalzeDatatListener {
    void analzeData(GlucoseBean data);
}

OnConnectListener

连接状态监听器
public interface OnConnectListener {
    void onConnecState(ConnectingState state);
    void onConnectSuccess();
}

OnConnectLogListener

连接日志监听器
public interface OnConnectLogListener {
    void onConnectLog(int state, String msg);
}

OnHistoryDatasCallBack

历史数据回调接口
public interface OnHistoryDatasCallBack {
   void onHistoryDatas(List<GlucoseBean> datas);
}

OnSyncDatasCallBack

数据同步监听器
public interface OnSyncDatasCallBack {
    /**
     * 同步开始
     * @param totalCount 总同步数量
     */
    void onSyncStart(int totalCount);

    /**
     * 同步进度更新
     * @param progress 进度百分比(0-100)
     */
    void onSyncProgress(int progress);

    /**
     * 同步完成
     * @param success 是否成功
     * @param datas 同步的数据列表
     */
    void onSyncComplete(boolean success, List<GlucoseBean> datas);
}

枚举类型

ConnectingState

连接状态枚举
public enum ConnectingState {
    AUTHENTICATION_FAIL, // 认证失败
    LACK_PERMISSION,     // 缺少权限
    DEVICE_CONNECTING,   // 设备真实连接中
    SHOW_CONNECTING,     // 显示连接状态
    BLE_OFF              // 蓝牙关闭
}

数据模型

GlucoseBean

血糖数据模型
class GlucoseBean() {
    var timeCreate: Long = 0  // 数据创建时间(秒级时间戳)
    var timeSave: Long = 0    // 数据保存时间(秒级时间戳)
    var packageNumber: Int = 0 // 包号
    var glucose: Float = 0f   // 血糖值
    var type: Int = 1         // 数据类型(1:初始化值,正常值)
    var trend = 0             // 血糖趋势(1:平稳,5:斜升,10:斜降,15:直升,20:直降)

    // 打印数据信息
    fun printMessage(): String { ... }

}

使用流程建议

  1. Application.onCreate()中调用preInit()进行预初始化
  2. 合适时机调用initSDK()完成正式初始化
  3. 设置必要的监听器(连接状态、数据同步等)
  4. 调用checkPreConditions()检查前置条件
  5. 前置条件满足后,调用connectDevice()连接设备
  6. 设备连接成功后,可进行数据同步、获取历史数据或接收实时数据
  7. 不需要使用时,调用disconnect()断开连接,必要时调用unInit()释放资源