{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516392208,"data":{"id":71712869,"title":"8.4.4.5 下载/更新云端主题数据","slug":"yuwkpc","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_NET 值,表示网络更新下载模式。
说明:函数详情,请复制函数名称到在线API搜索
// 下载进度及下载状态观察者\npublic 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();\ngetThemeService().addNetDownloadObserver(mDownloadObserver);\n \n// 移除下载状态观察者\ngetThemeService().removeNetDownloadObserver(mDownloadObserver);
// 获取所有theme id集合\nArrayList<Integer> themeIdList = getThemeService().getThemeIdList(DOWNLOAD_MODE_NET);\n\n// 开始下载全部主题数据\ngetThemeService().operate(DOWNLOAD_MODE_NET, OPERATION_TYPE_START, themeIdList);