android 2.3.5源代码分析之Download

来源:互联网 发布:java math保留两位小数 编辑:程序博客网 时间:2024/06/05 14:13

  最近一直忙于android 手机开发,下面是对Download模块下载的分析;

1.下载流程

UpdateThread DownloadService的一个监听线程,监听下载数据库是否插入了新的下载或者更新下载数据
如果有新的下载,就启动下载流程。

insertDownload(DownloadInfo.Reader reader, long now)这个是DownloadService的函数

 startIfReady(now)

 DownloadThread downloader = new DownloadThread(mContext, mSystemFacade, this);

 启动DownloadThread线程,在Download线程的run函数执行下载请求,并不断的侦测下载过程。


其他应用程序需要调用下载功能,只需要想download 插入一个新下载,DownloadService 线程就可以自动检测到,启动下载服务。

如下是浏览器调用下载的代码:

            final Uri contentUri =
                    getContentResolver().insert(Downloads.Impl.CONTENT_URI, values);