2. 小文件传输

小文件传输主要用于传输数据量较小的文件。
比如:运动记录、健康统计数据、联系人等,
功能包括文件列表查询,文件读取,文件删除,文件添加,文件更新

Important

  1. 每个设备对象不能同时进行小文件操作和文件操作, 只能队列式操作

  2. OTA过程中, 不允许调用小文件传输

2.1. 文件列表查询

//WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
    WatchManager watchManager = WatchManager.getInstance();
    //小文件类型:QueryFileTask.TYPE_BLOOD_OXYGEN、QueryFileTask.TYPE_SLEEP、QueryFileTask.TYPE_STEP等
    byte type = QueryFileTask.TYPE_HEART_RATE;
    QueryFileTask.Param param = new QueryFileTask.Param(type);
QueryFileTask task = new QueryFileTask(watchManager, param);
task.setListener(new SimpleTaskListener() {
    @Override
    public void onBegin() {
        //开始传输
    }

    @Override
    public void onFinish() {
        //查询成功
        List<QueryFileTask.File> list = task.getFiles();
    }

    @Override
    public void onError(int code, String msg) {
        //查询失败
    }
});
task.start();

2.2. 新增文件

//WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
    WatchManager watchManager = WatchManager.getInstance();
    //小文件类型:QueryFileTask.TYPE_BLOOD_OXYGEN、QueryFileTask.TYPE_SLEEP、QueryFileTask.TYPE_STEP等
    byte type = QueryFileTask.TYPE_MESSAGE_SYNC;
    byte [] data = "数据包"
    AddFileTask.Param param = new AddFileTask.Param(type, data);
final AddFileTask task = new AddFileTask(mRcspOp, param);
task.setListener(new SimpleTaskListener() {

    @Override
    public void onBegin() {
        //开始传输
    }

    @Override
    public void onError(int code, String msg) {
        //异常
    }

    @Override
    public void onFinish() {
        //添加完成
    }
});
task.start();

2.3. 读取文件

//WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
WatchManager watchManager = WatchManager.getInstance();
QueryFileTask.File file; //通过查询文件列表获取
byte type = file.type; //文件类型
short id = file.id; //文件id
int size = file.size; //要读取的内容大小
int offset = 0;//开始读取的位置。和size结合可以实现部分读取
ReadFileTask.Param param = new ReadFileTask.Param(type, id, size, offset);
ReadFileTask task = new ReadFileTask(watchManager, param);
task.setListener(new SimpleTaskListener() {

    @Override
    public void onBegin() {
        //开始传输
    }

    @Override
    public void onError(int code, String msg) {
        //异常
    }

    @Override
    public void onFinish() {
        //添加完成
    }
});
task.start();

2.4. 修改文件

//WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
WatchManager watchManager = WatchManager.getInstance();
QueryFileTask.File file = null; //通过查询文件列表获取
byte type = file.type; //文件类型
short id = file.id; //文件id
    byte [] data  = "更新的数据";
UpdateFileTask.Param param = new UpdateFileTask.Param(type, id, data);
UpdateFileTask task = new UpdateFileTask(watchManager, param);
task.setListener(new SimpleTaskListener() {

    @Override
    public void onBegin() {
        //开始传输
    }

    @Override
    public void onError(int code, String msg) {
        //异常
    }

    @Override
    public void onFinish() {
        //完成
    }
});
task.start();

2.5. 删除文件

//WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
WatchManager watchManager = WatchManager.getInstance();
QueryFileTask.File file = null; //通过查询文件列表获取
byte type = file.type; //文件类型
short id = file.id; //文件id
DeleteFileTask.Param param = new DeleteFileTask.Param(type, id);
DeleteFileTask task = new DeleteFileTask(watchManager, param);
task.setListener(new SimpleTaskListener() {

    @Override
    public void onBegin() {
        //开始
    }

    @Override
    public void onError(int code, String msg) {
        //异常
    }

    @Override
    public void onFinish() {
        //完成
    }
});
task.start();