18. 大数据传输功能

为了方便不操作文件,只是大数据交互而设置的大数据传输功能。有接收设备端大数据、发送大数据和读取大数据等子功能。

18.1. 接收设备端的大数据

//Step0. WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
WatchManager mWatchManager = WatchManager.getInstance();
final OnWatchCallback onWatchCallback = new OnWatchCallback() {
    /**
     * 回调接收到的大数据
     * @param device 设备对象
     * @param type   数据类型
     * @param data   大数据
     */
    @Override
    public void onReceiveBigData(BluetoothDevice device, int type, byte[] data) {
        super.onReceiveBigData(device, type, data);
    }

    /**
     * 接收大数据发生异常
     *
     * @param device 设备对象
     * @param error  错误事件
     */
    @Override
    public void onBigDataError(BluetoothDevice device, BaseError error) {
        super.onBigDataError(device, error);
    }
};
//Step1. 注册事件监听器
mWatchManager.registerOnWatchCallback(onWatchCallback);

//StepN. 不需要监听大数据时,记得移除监听器
mWatchManager.unregisterOnWatchCallback(onWatchCallback);

Note

  1. 数据类型, 大数据类型对照表

18.2. 发送大数据

//Step0. WatchManager是WatchOpImpl的子类,须在1.3配置好sdk
WatchManager mWatchManager = WatchManager.getInstance();
//Step1. 构建发送参数
int type = RcspConstant.TYPE_RAW_DATA; //裸数据
int version = 0; //数据协议
int sendLimit = 4 * 1024; //每次发送数据的最大值
int recvLimit = 4 * 1024; //每次接收数据的最大值
byte[] data = new byte[1024]; //发送的大数据
SendParams param = new SendParams(type, version, sendLimit, recvLimit, data);
//Step2. 调用发送大数据接口,并等待回调。
//注意: 大数据接口不能多次调用,需要等待回调结束,才能继续调用
mWatchManager.sendLargeData(param, new OnDataEventCallback() {
    /**
     * 回调操作开始
     * @param way 传输方式
     *            <p>{@link RcspConstant#WAY_SEND_DATA} -- 发送数据
     *            {@link RcspConstant#WAY_READ_DATA} -- 读取数据</p>
     */
    @Override
    public void onBegin(int way) {

    }

    /**
     * 回调进度
     * @param progress 进度
     */
    @Override
    public void onProgress(float progress) {

    }

    /**
     * 回调操作结束
     * @param type 数据类型
     * @param data 数据
     */
    @Override
    public void onStop(int type, byte[] data) {

    }

    /**
     * 回调发生异常
     * @param error 错误信息
     */
    @Override
    public void onError(BaseError error) {

    }
});

Note

  1. 数据类型, 大数据类型对照表

18.3. 大数据类型对照表

引用类名: DataTransferCmd

数值

引用常量

说明

0

TYPE_RAW_DATA

原始数据/透传数据

1

TYPE_ALI_DATA

阿里云数据

2

TYPE_RTC_DATA

闹钟数据

3

TYPE_AI_CLOUD_DATA

AI云数据

4

TYPE_TTS_DATA

合成语音数据

5

TYPE_PLATFORM_INTERFACE_DATA

第三方平台认证数据

6

TYPE_ESIM_CARD

ESim卡数据

7

TYPE_NETWORK_OTA

网络模块升级数据

8

TYPE_TONE_FILE_DATA

提示音文件数据