Introduce

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

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

Demo

Screenshot

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

android 打开下载管理器,Android OkHttp 下载管理器相关推荐

  1. android打开教程,Android 打开网络上pdf文件

    1.基本思路: 打开网络pdf 思路整体还是来源与图片的加载. android中加载网络图片的框架有很多个.如image-laoder, fresco.glide等,首先都是从内存中找图片,如果内存中 ...

  2. android+打开菜单,Android制作微信app顶部menu菜单(ActionBar)

    使用微信APP的小伙伴对于微信的ActionBar一定有印象,今天就带领大家一起实现以下这个效果. 第一步打开我们的开发工具,这里我使用的是Eclipse+ADT插件,然后创建我们的工程,这里选择An ...

  3. android 打开屏幕,android打开关闭屏幕

    打开和关闭手机屏幕方法: 1.关闭屏幕 //设备管理者 private DevicePolicyManager mDevicePolicyManager; //关屏组件 private Compone ...

  4. android 打开屏幕,Android打开屏幕

    我制作了由AlarmManager安排活动启动的应用程序.即使屏幕关闭且设备被锁定,我也想出现. 为了达到这一目的,请设置Window标志 final Window win = getWindow() ...

  5. android打开图库,Android 7.0 以上通过系统图库打开图片的方法

    报错: android.os.FileUriExposedException: file:///storage/emulated/0/photo.jpeg exposed beyond app thr ...

  6. android 打开闪光灯,Android 闪光灯的打开和关闭

    网上的方法大部分只支持 6.0 以下的手机,于是写了个兼容 6.0 以上手机的工具类: class FlashUtils { companion object { fun get():FlashUti ...

  7. Android Studio App开发之下载管理器DownloadManager中显示、轮询下载进度、利用POST上传文件讲解及实战(附源码)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.在通知栏显示下载进度 利用GET方式读取数据有很多缺点比如1:无法端点续传 一旦中途失败只能重新获取 2:不是真正意义上的下载操作 无法设置参 ...

  8. android本地xml文件怎么打开,android 打开本地文件

    首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文件的 MIME 类型来确定 如果不知道是什么类型,那就是 : */* 类型匹配表: private static final ...

  9. Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP

    Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP 项目截图 这是我的目录结构 五步使用RxJava+Retrofit2+Okhttp+RxCache 第一步:导包 ...

  10. android封装网络请求界面,轻松搞定 android MVP 架构、okHttp 网络模块封装 的 项目...

    CommonMvp commonMvp 能做什么? 1.mvp 实现 model view presenter 业务和界面解耦 2.整合 网络 请求 3.简化网络调用流程 4.整合状态栏和标题栏 实现 ...

最新文章

  1. 修改.fig文件中图的x轴或y轴的标题及数据图
  2. Educational Codeforces Round 13 E. Another Sith Tournament 状压dp
  3. Scala 空返回值Unit
  4. oracle9i 查询scn,Oracle10g的current_scn是如何计算的?
  5. 机器学习(课程笔记4)——逼近参数算法牛顿方法;
  6. Linux获取文件信息
  7. C#在foreach中重用变量是否有原因?
  8. [转帖]九句英语闯天下
  9. 统计分析与R软件-chapter2-4
  10. 使 VC2013 编写的程序运行在其它电脑上
  11. 送书 | Web前端性能优化
  12. webstorm破解方法(亲测可用)
  13. .docx勒索病毒删除 .docx勒索病毒还原文件
  14. python爬取豆瓣电影并分析_Python实战之如何爬取豆瓣电影?本文教你
  15. 交大昂立华为鸿蒙,20210517湖南人涨停复盘
  16. simulink/stateflow 纯电动+4档变速箱动力性经济性仿真模型 包含vcu控制及换档控制模型,可实现最高车速 最大爬坡度 加速时间
  17. VC通过ADO操作Access2007数据库
  18. 第六届360前端星计划_前端工程化浅析
  19. Jdk1.8 Collectors类使用详解(实用干货)
  20. 基于python3.6的马蜂窝旅行模拟登陆

热门文章

  1. My97DatePicker JS时间控件 当前日期前后不能选
  2. System.IndexOutOfRangeException: 无法找到表 0解决办法
  3. 内存问题分析工具_valgrind之memcheck基本使用
  4. 视觉定位VBL 视觉里程计VO 视觉SLAM 区别与联系
  5. 【一天一个C++小知识】011.C++编译的流程
  6. 如何在heroku上部署你的Django程序
  7. bzoj4567: [Scoi2016]背单词
  8. 关于click事件在苹果手机上的阴影的解决方法和关于在安卓手机上的select的灰色背景色的解决...
  9. LA 2218 Triathlon(半平面交)
  10. 湖南附中模拟day1 瞭望塔