关于FileDownLoader这个下载引擎在这里我就不多做介绍了,具体可以打开github上的地址:FileDownLoader 查看~
博客结尾处也有简略说明
使用FileDownLoader
第一步:如果使用的是AndroidStudio开发工具,需要在项目中引用:
- compile 'com.liulishuo.filedownloader:library:1.3.0'
第二步:然后在Application.Oncreate 中进行全局初始化
- public XXApplication extends Application{
- ...
- @Override
- public void onCreate() {
- /**
- * 仅仅是缓存Application的Context,不耗时
- */
- FileDownloader.init(getApplicationContext);
- }
- ...
- }
-
启动单任务下载
FileDownloader.getImpl().create(url)
.setPath(path)
.setListener(new FileDownloadListener() {
@Override
protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void connected(BaseDownloadTask task, String etag, boolean isContinue, int soFarBytes, int totalBytes) {
}
@Override
protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void blockComplete(BaseDownloadTask task) {
}
@Override
protected void retry(final BaseDownloadTask task, final Throwable ex, final int retryingTimes, final int soFarBytes) {
}
@Override
protected void completed(BaseDownloadTask task) {
}
@Override
protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void error(BaseDownloadTask task, Throwable e) {
}
@Override
protected void warn(BaseDownloadTask task) {
}
}).start();
下载介绍一下我写的单例下载:
1.单任务下载
- <span style="font-size:14px;">package com.kuaibao.skuaidi.manager;
- import com.liulishuo.filedownloader.BaseDownloadTask;
- import com.liulishuo.filedownloader.FileDownloadListener;
- import com.liulishuo.filedownloader.FileDownloader;
- /**
- * Created by gudd
- * on 2016/10/27.
- * compile 'com.liulishuo.filedownloader:library:1.3.0'
- */
- public class FileDownloaderManager {
- public static FileDownloaderManager instance = null;
- private FileDownloaderManager() {
- }// 避免类在外部被实例化
- public static FileDownloaderManager getInstance() {
- if (null == instance) {
- instance = new FileDownloaderManager();
- }
- return instance;
- }
- /**