android 打开下载管理器,Android OkHttp 下载管理器

Introduce

基于OkHttp实现的下载管理,支持多线程、断点续传等功能,Demo演示用的是RecyclerView,在Application里可设置任务并发等。

实现时基本无别的臃肿代码,可以方便修改使用。

Demo

Screenshot

570d7692b79a663da211c0be9d5a16cf.gif

Use

Gradle

compile 'com.yuan.library.dmanager:downloadmanager-okhttp-release:1.1.6'复制代码

Maven

com.yuan.library.dmanager

downloadmanager-okhttp-release

1.1.6

pom

复制代码

Code

// 在Application初始化

DownloadManager.getInstance().init(this, 3);

// 代码中使用

String taskId = String.valueOf(mListData.get(holder.getAdapterPosition()).getUrl().hashCode());

DownloadTask itemTask = mDownloadManager.getTask(taskId);

DownloadManager.getInstance().add(itemTask);

//下载管理具体使用,也需要对列表的adapter进行处理,具体实现请参考demo。复制代码

Update

v1.1.6

修改数据库的存储为GreenDao框架。

v1.1.5

修复暂停后没有更新数据库状态。

v1.1.4

最低兼容版本到14(Android4.0)

v1.1.3

修复有任务正在下载时,取消任务有时候不能中断下载的BUG。在demo中长按某个条目,可取消一个任务。

v1.1.2:

修复多个任务同时等待,暂停某个任务时,等待队列出现错误。

修复Demo按返回键退出程序,再次进入程序,任务还在下载时,UI不刷新问题(以后版本更新,会将下载统一下放到service中)。

优化线程池的处理。

v1.1.1:

添加超时异常的捕获。

可以自定义OkHttpClient,通过DownloadManager.getInstance().init(this, 3,HttpClient)添加。

如果不设置最多下载数量,那么下载数量将根据CPU核数量来分配,并且最大线程数量限制在15个。

v1.1.0:

重构了下载管理,删除冗余代码,并添加任务失败的回调。

修复了已知bug。

Remark

由于demo中下载地址,是在本机上搭的服务器,所以点击下载按钮不能下载。如果demo中的下载测试,请在MainActivity的getMockData方法中换成可用的地址。

Contacts

qq:11026979

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值