{"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":"

场景图

\"image.png\"

时序图

下载云端主题头像

关键参数

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);


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