Android高能下载库FileDownloader
2017-08-29 21:01
363 查看
我们的App中可能会提供给用户下载文件或者图片的场景,然后你可能就会考虑以下名词了
多任务下载
多线程下载
断点续传
高并发
没错,如果你自己手写下载库的话需要考虑这四个名词,接下来我们学习一下FileDownloader库,该库的作者对这四点已经封装的很好了,5000人Star的开源库你怎可错过呢?
老规矩,引用别人的库的时候一定要放别人的github地址
FileDownloader Github地址
1 引用导入
2 全局初始化
3 具体调用
注意这里的path是文件名而不是文件夹的名字
注意这里的path是文件名而不是文件夹的名字
注意这里的path是文件名而不是文件夹的名字
没错,就是这么简单好用!这个库远比我的demo要强大,我只是展示了他的基础用法,如果用户有自己特殊的需求还请移步到github上仔细阅读源码哈~
多任务下载
多线程下载
断点续传
高并发
没错,如果你自己手写下载库的话需要考虑这四个名词,接下来我们学习一下FileDownloader库,该库的作者对这四点已经封装的很好了,5000人Star的开源库你怎可错过呢?
老规矩,引用别人的库的时候一定要放别人的github地址
FileDownloader Github地址
1 引用导入
compile 'com.liulishuo.filedownloader:library:1.6.4'//最新版本见github
2 全局初始化
public class APP extends Application { @Override public void onCreate() { super.onCreate(); FileDownloader.setup(this);//注意作者已经不建议使用init方法 } }
3 具体调用
注意这里的path是文件名而不是文件夹的名字
注意这里的path是文件名而不是文件夹的名字
注意这里的path是文件名而不是文件夹的名字
FileDownloader.getImpl().create(url).setWifiRequired(true).setPath(path).setListener(new FileDownloadListener() { @Override protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) { } @Override protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) { int percent=(int) ((double) soFarBytes / (double) totalBytes * 100); textView.setText("("+percent+"%"+")"); } @Override protected void blockComplete(BaseDownloadTask task) { } @Override protected void completed(BaseDownloadTask task) { Toast.makeText(MainActivity.this,"下载完成!",Toast.LENGTH_SHORT).show(); textView.setText("("+"100%"+")"); } @Override protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) { } @Override protected void error(BaseDownloadTask task, Throwable e) { } @Override protected void warn(BaseDownloadTask task) { continueDownLoad(task);//如果存在了相同的任务,那么就继续下载 } }).start();
private void continueDownLoad(BaseDownloadTask task) { while (task.getSmallFileSoFarBytes()!=task.getSmallFileTotalBytes()){ int percent=(int) ((double) task.getSmallFileSoFarBytes() / (double) task.getSmallFileTotalBytes() * 100); textView.setText("("+percent+"%"+")"); } }
没错,就是这么简单好用!这个库远比我的demo要强大,我只是展示了他的基础用法,如果用户有自己特殊的需求还请移步到github上仔细阅读源码哈~
相关文章推荐
- Android不得不看的高能下载库FileDownloader
- [置顶] Android 文件下载引擎 FileDownloader
- Android 文件下载引擎,稳定、高效、简单易用:FileDownloader(结合okhttp)
- Android 文件下载引擎,稳定、高效、简单易用:FileDownloader
- FileDownloader-Android 文件下载引擎,稳定、高效、简单易用
- Android 文件下载引擎,稳定、高效、简单易用:FileDownloader(结合okhttp)
- android github 源码学习 --文件下载 FileDownloader
- Windows环境下下载Android源码
- android检测新版本并下载安装的方法
- 一个二维码实现IOS和android两个平台的下载核心代码
- android N7.1 下载fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle 解决方法
- Android搭建开发环境和手动下载安装Android SDK开发包
- 下载Google官方/CM Android源码自己主动又一次開始的Shell脚本
- Android系统源码编译全过程——下载Android源文件并编译
- Android网络请求 上传文件 和 下载文件 断点下载
- 在mac上从 Google Play 下载 Android 程序 apk 文件
- Android下载Android源码
- Android ADT Bundle 0917,SDK Tools r22.2.1下载
- 下载android kernel内核,并编译。
- Android源码下载及开发环境的搭建