下载模块说明 一、 模块概述 下载模块参考Android Source Code Version 2.3源码,集成资源下载、通知中心管理、数据库维护、提供Content Provider、广播处理、文件及Provider变化监听等逻辑,完整实现下载相关功能及服务。 在源码基础上,增加了针对免商店应用相关下载信息说明,同时封装原有下载接口,对外提供统一的下载帮助类,方便更快地学习和使用。 二、 模块预览图 以上每个矩形框代表类,字体黑色;圆角矩形框代表内部类,字体灰色;黄色区域文字简介了每个类的作用说明。 如图,左边虚线框是模块对外提供的功能调用窗口类,通过使用这些类开始、暂停、删除一个下载任务。 右侧虚线框内对外提供了Content Provider,以及下载相关广播的处理逻辑。 其他类为模块内部具体功能处理。 三、 功能说明 如上图,下载相关逻辑具体划分11个类,分别处理相应逻辑,为提供代码阅读参考,现做一一具体说明。 1. DownloadHelper 该类使用Get方法对外提供了DownloadManager单一实例,并且提供静态的开始、暂停、恢复、重启、安装、取消等静态方法控制下载任务状态;可以根据状态或任务Id等获取下载信息。 2. DownloadManager 本类对外封装了下载信息相关字段,对Provider返回结果转译封装了数据库实际字段列表;提供一系列Sql语句生成方法,可以方便生成查询;并提供开始、暂停等操作Provider方法;内部类Request和Query分别组装下载请求信息和实现查询及转译。 3. DownloadProvider 实现ContentProvider,对外提供增删改查及回调通知,内部实现下载数据库维护。 4. DownloadReceiver 监听开机、网络及下载中心点击广播。 5. Downloads 下载数据库列名列表,以及下载状态列表。 6. DownloadService 7. DownloadNotificationHelper 8. DownloadThread 9. DownloadInfo 10. Constants 11. Helpers 本文来源:https://www.wddqw.com/doc/f6f71803af1ffc4fff47ac32.html