{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516387877,"data":{"id":71712852,"title":"8.3.5.4 下载/更新U盘语音数据","slug":"beam2p","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
com.autonavi.gbl.data.model.OperationType
开始下载(包含下载、更新、重试动作)
com.autonavi.gbl.data.observer.IDownloadObserver
由调用者继承实现,可以添加多个,通常一个即可。下载进度,下载过程中的城市数据状态变化、以及发生错误都是通过该观察者通知回调。
添加下载状态观察者监听
移除下载状态观察者
以上接口参数downLoadMode,均需传 DOWNLOAD_MODE_USB 值,表示U盘下载模式。
说明:函数详情,请复制函数名称到在线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().addUsbDownloadObserver(mDownloadObserver)\n// 移除下载状态观察者\ngetVoiceService().removeUsbDownloadObserver(mDownloadObserver);
// 获取所有voice id集合\nArrayList<Integer> voiceIdList = getVoiceService().getVoiceIdList(DOWNLOAD_MODE_USB);\n\n// 开始下载全部语音数据\ngetVoiceService().getVoice(DOWNLOAD_MODE_USB, OPERATION_TYPE_START, voiceIdList);