开源Http文件下载框架file-downloader的使用

  file-downloader(https://github.com/wlfcolin/file-downloader)是本人开源的一个Http文件下载框架,是根据自己的经验总结的一套简非常轻量级的安卓通用Http文件下载管理器。

特点:支持断点续传、多任务下载、重命名、移动、删除、自定义下载名称和保存路径等

file-downloader采用了跟安卓图片加载框架image-loader类似的设计架构,以下是使用说明和截图:

1、在你的Application的onCreate()方法中初始化FileDownloadManager

// 1.create FileDownloadConfiguration.BuilderBuilder builder = new FileDownloadConfiguration.Builder(this);// 2.builder FileDownloadConfiguration.Builderbuilder.configFileDownloadDir(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "FileDownloader");// config the download pathbuilder.configDownloadTaskSize(3);// allow 3 download task at the same timeFileDownloadConfiguration configuration = builder.build();// config FileDownloadConfiguration with the builder// 3.init FileDownloadManager with the configurationFileDownloadManager.getInstance(this).init(configuration);

2、创建一个新下载

mFileDownloadManager.start(url, mOnFileDownloadStatusListener);

3、创建一个自定义保存文件名称和存储路径的下载

mFileDownloadManager.detect(url, new OnDetectUrlFileListener() {    @Override    public void onDetectNewDownloadFile(String url, String fileName, String saveDir, int fileSize) {        // change fileName,saveDir if needed        mFileDownloadManager.createAndStart(url, newFileDir, newFileName, mOnFileDownloadStatusListener);    }    @Override    public void onDetectUrlFileExist(String url) {        mFileDownloadManager.start(url, mOnFileDownloadStatusListener);    }    @Override    public void onDetectUrlFileFailed(String url, DetectUrlFileFailReason failReason) {        // error    }});

4、继续一个已经暂停的下载

mFileDownloadManager.start(url, mOnFileDownloadStatusListener);

5、删除下载

5-1、删除单个

mFileDownloadManager.delete(url, true, mOnDeleteDownloadFileListener);// single file

5-2、删除多个

mFileDownloadManager.delete(urls, true, mOnDeleteDownloadFilesListener);// multi files

6、移动下载文件到新文件夹

6-1、移动单个

mFileDownloadManager.move(url, newDirPath, mOnMoveDownloadFileListener);// single file

6-2、移动多个

mFileDownloadManager.move(urls, newDirPath, mOnMoveDownloadFilesListener);// multi files

7、重命名下载文件

mFileDownloadManager.rename(url, newName, true, mOnRenameDownloadFileListener);

----------------end----------------

时间: 2024-10-05 00:09:00

开源Http文件下载框架file-downloader的使用的相关文章

【开源】OSharp框架解说系列(3):扩展方法

〇.前言 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异. 最常见的扩展方法是 LINQ 标准查询运算符,它将查询功能添加到现有的 System.Collections.IEnumerable 和 System.Collections.Generic.

android82 文件下载框架xUtils

package com.itheima.xutils; import java.io.File; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import andr

【开源】OSharp框架解说系列(6.1):日志系统设计

〇.前言 日志记录对于一个系统而言,重要性不言而喻.日志记录功能在系统开发阶段,往往容易被忽略.因为开发阶段,程序可以调试,可以反复的运行以查找问题.但在系统进入正常的运行维护阶段,特别是在进行审计统计的时候,追踪问题的时候,在追溯责任的时候,在系统出错的时候等等场景中,日志记录才会显示出它不可替代的作用.记录的日志,平时看似累赘,只有在需要的时候,才会拍大腿后悔当初为什么不把日志记录得详细些. 日志系统,是一个非常基础的系统,但由于需求的复杂性,各个场景需要的日志分类,来源,输出方式各有不同,

DICOM:开源DICOM服务框架DCM4CHE 构建

背景: 前一篇博文DICOM:开源DICOM服务框架DCM4CHE 安装中介绍了一款开源DICOM服务框架DCM4CHE,对于开源项目学习的流程是先下载二进制可执行包安装,然后使用测试.在熟悉了大致的功能服务后,从官网下载源代码进行本地构建(Build),进而从根本上了解开源项目的底层框架设计,为后续修复.扩展做准备.本博文是继DCM4CHE安装后的续篇,讲解如何在本地构建DCM4CHE开源项目,文中尽量做到全面,但是由于刚开始接触J2EE领域,且多半都是自学,因此博文中还留有部分未解问题,如有

开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲

[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 一.概述 经过一个多月晚上的时间,终于把开源物联网通讯框架ServerSuperIO成功移植到Windows10 IOT上,暂时全名:ServerSuperIO.WinIOT(以后可能还会移植到Ubuntu上).以后可以把ServerSuperIO框架应用到嵌入式设备上,移植的成功具有标志性意义,意味着软件和硬件的结合,软硬的结合才具有更强的生命力.为什么我特别愿意干这件事呢?源于我对以前工作的总结,如下图: 二.如果利

玩转Google开源C++单元测试框架Google Test系列(gtest)之一 初识gtest

进入文件夹执行: ./configure make make install 完毕即可正常使用: (1)包含include目录 -I/root/scp/gtest/gtest-1.3.0: (2)包含lib中的动态链接库:-lgtest -L/root/scp/gtest/gtest-1.3.0/lib 示例代码: [cpp] view plaincopy #include <gtest/gtest.h> int Foo(int a, int b) { if (a == 0 || b == 0

VMC INJECTION(开源JAVA模板框架)

VMC Injection是一个开源Java模板框架,它是由vmcreative公司开发,并在最近刚刚发布的.VMC Injection支持任何Java数据结构,(例如:JDBBC,POJO,HashMap等),并且VMC Injection可以很容易的将这些Java数据结构注入到文本模板中(HTML/XML等模板) VMC Injection(Java模板框架)被用于vmcreateive公司的很多商业项目中,如在web应用程序中,借助Servlet和VMC Injection生成动态的网页,

【开源】OSharp框架解说系列(1):总体设计

〇.前言 哈,距离前一个系列<MVC实用构架设计>的烂尾篇(2013年9月1日)已经跨了两个年头了,今天是2015年1月9日,日期已经相映,让我们开启新的航程吧. 前一个系列讲的主要是我对架构设计的理解以及怎样用好EntityFramework的一些想法,在技术细节上并没有太多的考究.不幸的是,不少同学把这个架构当作框架来用了,里边留的很多坑,坑苦了很多人,真是误人子弟,深表愧疚.于是重新整理代码,整理思路,鼓捣出了这个我们将要详解的开源框架:OSharp.这次,我们真的深入地说框架了,而不是

【开源】OSharp框架解说系列(2.1):EasyUI的后台界面搭建及极致重构

〇.前言 要了解一个东西长什么样,至少得让我们能看到,才能提出针对性的见解.所以,为了言之有物,而不是凭空漫谈,我们先从UI说起,后台管理页面的UI我们将使用应用比较普遍的easyui框架. 以前在用easyui的时候,每个页面都得从0做起,或者不厌其烦地由以前的页面通过“复制-粘贴”的方式来修改,久页久之,就会造成页面庞大且难以维护.其实,前端的html,javascript代码与后端的代码是一样的,通过一定的组织,把重复的代码抽离出来,同样也通过达到很好的复用率.而MVC的天生的Layout