{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516384818,"data":{"id":71712847,"title":"8.3.4.5 下载/更新云端语音数据","slug":"houzpk","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

\"image.png\"

时序图

下载云端语音头像

关键参数

com.autonavi.gbl.data.model.OperationType

开始下载(包含下载、更新、重试动作)

com.autonavi.gbl.data.observer.IDownloadObserver

由调用者继承实现,可以添加多个,通常一个即可。下载进度,下载过程中的城市数据状态变化、以及发生错误都是通过该观察者通知回调。

核心接口

添加下载状态观察者监听

移除下载状态观察者


以上接口参数downLoadMode,均需传 DOWNLOAD_MODE_NET 值,表示网络更新下载模式。


说明:函数详情,请复制函数名称到在线API搜索

调用示例

public class DownloadObserver implements IDownloadObserver {\n\t @Override\n\tpublic void onOperated(@DownLoadMode.DownLoadMode1 final int downLoadMode, @DataType.DataType1 final int dataType,\n                           @OperationType.OperationType1 final int opType, final int[] opreatedIdList) {\n        if (opreatedIdList != null && opreatedIdList.length > 0) {\n            for (int operatedId : opreatedIdList)\n            {\n                Log.d(TAG, "OnOperated: downLoadMode = " + downLoadMode + "; dataType = " + dataType + "; opType = "\n                        + opType + "; operatedIdList = " + operatedId);\n            }\n        }\n    \t// 转UI线程\n        runOnUiThread(new Runnable() {\n            @Override\n            public void run() {\n\t\t\t\t/**< 回调的数据列表是单个的话表示只是操作单项,其余的触发列表的全部更新 */\n            }\n        });\n    }\n\n    @Override\n    public void onDownLoadStatus(@DownLoadMode.DownLoadMode1 final int downLoadMode, @DataType.DataType1 final int dataType,\n                                 final int id, @TaskStatusCode.TaskStatusCode1 final int taskCode, int opCode) {\n        Log.d(TAG, "onDownLoadStatus: downLoadMode = " + downLoadMode + "; dataType = " + dataType + "; taskCode = " +\n                taskCode + "; opCode = " + opCode);\n        // 转UI线程\n        runOnUiThread(new Runnable() {\n            @Override\n            public void run() {\n\t\t\t\t// 下载状态变更处理\n            }\n        });\n    }\n\n    @Override\n    public void onPercent(@DownLoadMode.DownLoadMode1 final int downLoadMode, @DataType.DataType1 final int dataType, final int id,\n                          final int percentType, final float percent) {\n        Log.d(TAG, "OnPercent: downLoadMode = " + downLoadMode + "; dataType = " + dataType + "; modeId = " + id + ";" +\n                " percentType = " + percentType + "; percent = " + percent);\n        // 转UI线程\n        runOnUiThread(new Runnable() {\n            @Override\n            public void run() {\n\t\t\t\t// 下载进度/解压融合进度处理\n        });\n    }\n}
// 添加下载状态观察者\nDownloadObserver mDownloadObserver = new DownloadObserver();\ngetVoiceService().addNetDownloadObserver(mDownloadObserver)\n// 移除下载状态观察者\ngetVoiceService().removeNetDownloadObserver(mDownloadObserver);
// 获取所有voice id集合\nArrayList<Integer> voiceIdList = getVoiceService().getVoiceIdList(DOWNLOAD_MODE_NET);\n\n// 开始下载全部语音数据\ngetVoiceService().getVoice(DOWNLOAD_MODE_NET, OPERATION_TYPE_START, voiceIdList);


","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:05:20","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":82,"collectCount":0,"estimateDate":7,"docStatus":0,"permissions":true,"overView":false}}