Android app基于DownloadProvider实现下载管理功能

下载功能是一个很常见的功能,在很多app中都有这种功能的存在。很多应用的做法是:写一个单线程或者多线程下载,写一个DownloadThread建立HTTP请求用来下载存储文件,存储到一个地方,然后写一个UI界面,用于展示文件列表。如果需求多了呢?加个控制,暂停、取消、重新下载、文件分类,再加上一些其他所谓的特定需求,加上数据库的操作管理会让你头大,况且下载功能,在很多细节方面还是需要处理很多的情况的(顺便说下,想看下载方面的深入研究,请看我的其他几篇博客)。

如果有一种方法,不用你写DownloadThread,不用你写HTTP请求,不用你写数据库,不用你自己操作控制,只需要你写一个界面,还能保证展示的内容是对的,BUG少,开发成本低,你会不会选择?

答案就是使用DownloadProvider来实现自己的下载管理功能。

大家可能对于DownloadProvider来说,都比较熟悉,app通过DownloadManager来进行下载文件,那么实际进行下载和管理文件的就是DownloadProvider,他的目录在packages/providers/DownloadProvider文件夹下面,那么我们怎么用这个DownloadProvider呢?

首先,在DownloadProvider里面有两个URI,一个是"content://downloads/my_downloads/"一个是"content://downloads/all_downloads/",其中"content://downloads/all_downloads/"是获取手机里面全部的下载资源数据&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值