Android 下载库 TigerDownload Rxjava2,retrofit2
TigerDownload
是一款使用了 Rxjava2,retrofit2,以及okhttp3的开源库。
优点如下
- 根据url链接,自动确定文件名及其扩展格式,不用再为格式发愁。
- 自动重连机制
- 写入文件方法,根据返回流的不同,写入方式多样性
- 可以获得下载速度,下载进度
- 断点续传
配置教程
- Add the JitPack repository to your build file(将JitPack存储库添加到构建文件中)注意 是project的build.gradle文件
allprojects {repositories {...maven { url 'https://jitpack.io' }}}
- Add the dependency(添加依赖关系)
dependencies {implementation 'com.github.planitian:TigerDownload:1.1.6'}
使用
强调一下,这个库的JDK是1.8,所以要注意啦。如果,你想使用,那么需要保证,你的项目也是JDK1.8
//下载链接
String url = "https://uu.gdl.netease.com/2183/UU-2.10.5.exe";
//文件保存目录
String savePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + Environment.DIRECTORY_DOWNLOADS;
TaskInfo downLoadBean = new TaskInfo.Builder(url, savePath) //注册观察者 .registerObserver(new DownloadObserver() { //taskinfo 携带着下载的信息,如已经读取的字节数,总文件长度(如果,http返回了 文件长度) //下载状态@Link{ DownloadState } @Override public void update(TaskInfo downLoadBean) { if (downLoadBean.getContentLength() != 0) { int progress = (int) (100 * downLoadBean.getReadLength() / downLoadBean.getContentLength()); /* 1. 注意 这里只有配置了 runMain(true) 才可以直接更新ui,否则报异常 * */ progressBar.setProgress(progress); /* runOnUiThread(new Runnable() { @Override public void run() { } });*/ } } }).runMain(true).build();
//必须先addTask,然后才可以 startTask
DownLoadManager.getInstance().addTask(downLoadBean).startTask(downLoadBean);
DownLoadManager方法详解
- addTask(TaskInfo taskInfo) 添加任务,这是第一步 必须的
- startTask(TaskInfo task) 开始任务
- pauseTask(TaskInfo task) 暂停任务,如果想达到取消任务的效果,只需要调用pauseTask(TaskInfo task)。然后,将taskinfo的setReadLength(long readLength),即可完成。
- reStartTask(TaskInfo task) 重新开始
- registerObserver(TaskInfo task, DownloadObserver observer) 注册观察者
- removeObserver(TaskInfo taskInfo, DownloadObserver observer) 移除观察者
- notifyObserver(TaskInfo taskInfo) 通知观察者 注意:可以在自己需要的地方 调用 通知
- isDownloading(String taskId) 返回当前队列是否有自己
- isAddTask(String taskId) 查询当前任务是否被添加 即addTask
github项目地址
如果有不懂的,可以关注我的公众号 “知我饭否” 向我留言。我也会每天更新一些文章,有兴趣的可以扫描下方的二维码。
Android 下载库 TigerDownload Rxjava2,retrofit2相关推荐
- 基于RxJava2+Retrofit2精心打造的Android基础框架
代码地址如下: http://www.demodashi.com/demo/12132.html XSnow 基于RxJava2+Retrofit2精心打造的Android基础框架,包含网络.上传.下 ...
- google play service lib 最新android版本库下载地址
google改变了google play service库的下载方式,要找到还真不容易,加上防火墙,下载也不方便,到哪下载google play service最新版本的库都搞的好麻烦.所以特意记下g ...
- 一款基于RxJava2+Retrofit2实现简单易用的网络请求框架
本库是一款基于RxJava2+Retrofit2实现简单易用的网络请求框架,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置, ...
- 基于RxJava2+Retrofit2简单易用的网络请求实现
代码地址如下: http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封 ...
- retrofit 会请求两次_基于RxJava2+Retrofit2简单易用的网络请求实现
简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载 ...
- Android开源库大全分类汇总(Android技术资料汇总)
1.基本控件 1.1.TextView ScrollNumber ReadMoreTextView HtmlImage android-autofittextview html-textview Ba ...
- Android开源库大全分类汇总(Android技术资料汇总)...
1.基本控件 1.1.TextView ScrollNumber ReadMoreTextView HtmlImage android-autofittextview html-textview Ba ...
- Android第三方库收藏汇总
AndroidUtils 原文:原文 个人在Github上收藏的一些第三方库,做一个说明记录,方便自己查找. 文章目录开发规范:图片剪裁/编辑:图片压缩:汉字转拼音:JS与Native交互:视频播放器 ...
- GitHub 上排名前 100 的 Android 开源库介绍
转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...
最新文章
- 软件定义汽车:本质并行化的有效平台
- 苹果要垄断?官方证实:T2安全芯片会限制新款Mac电脑第三方
- 信号与系统2021年期末考试命题
- JQuery中对option的添加、删除、取值
- 前端工程师必须要知道的SEO技巧(2):制作比设计还要漂亮的代码(内容和语义化代码)上...
- 军哥华为HCNP(科目H12-221)真题解析课程:1-30题
- 酷派手机android版本,系统版本迎来升级
- 【JAVA基础篇】基本数据类型及自动类型转换
- 傲游浏览器语言怎么切换 傲游浏览器语言切换方法简述
- 软件测试nodejs面试题,nodejs单元测试和性能测试
- 子集生成算法——增量构造法
- 使用自动补全功能- MATLAB
- matlab拉普拉斯算子边缘提取_【图像处理】OpenCV系列十 --- 边缘检测之Laplacian算子...
- 数字图像处理-知识点总结
- 计算机还原取消,如何取消开机一键还原F11选项?
- 洛谷P4563 [JXOI2018]守卫
- learn git branching 重新开始
- 【PHP编程】WebCat,手机搭建PHP运行环境及项目运行
- 利用条形码生成器在Word 2013中轻松制作条形码的方法
- 这玩意儿叫H5编辑器??不应该叫H5全能王吗?
热门文章
- 山东大学移动信息门户11
- 关于CMMI认证企业需要注意的事项
- oracle 检查dmp文件格式,查看oracle数据库dmp文件的字符集信息
- Microsoft Word error crash solution (Word闪退后找回文档指南)
- matlab四分之一模型车+人体和座椅
- 视频转换软件 WinAvi
- [下载]全自动封装工具包专业版(四步成功封装系统)
- java毕业设计城市公交查询系统Mybatis+系统+数据库+调试部署
- 计算机毕业设计ssm物业管理系统429am系统+程序+源码+lw+远程部署
- wanlshop商城小程序全局方法整理记录