fileDownloader是一个性能比较高的一个下载库,

优点
多任务下载
多线程下载
断点续传
高并发

话不多说,直接干!
先添加依赖:

compile 'com.liulishuo.filedownloader:library:1.6.4'//最新版本见github

下一步需要在Application中初始化

public class APP extends Application {@Overridepublic void onCreate() {super.onCreate();FileDownloader.setup(this);//注意作者已经不建议使用init方法}
}

下面是具体用法

FileDownloader.getImpl().create(url).setWifiRequired(true).setPath(path).setListener(new FileDownloadListener() {@Overrideprotected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {}@Overrideprotected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {int percent=(int) ((double) soFarBytes / (double) totalBytes * 100);textView.setText("("+percent+"%"+")");}@Overrideprotected void blockComplete(BaseDownloadTask task) {}@Overrideprotected void completed(BaseDownloadTask task) {Toast.makeText(MainActivity.this,"下载完成!",Toast.LENGTH_SHORT).show();textView.setText("("+"100%"+")");}@Overrideprotected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {}@Overrideprotected void error(BaseDownloadTask task, Throwable e) {}@Overrideprotected 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+"%"+")");}}

具体的也可以参考
https://github.com/lingochamp/FileDownloader/blob/master/README-zh.md

FileDownloader下载文件相关推荐

  1. 使用FileDownloader下载文件(举例版本更新下载apk文件)

    1.当我们把本地的版本号和服务器上的版本号进行对比,如果不一致,那么就进行版本更新,为了增加App的友好性,我们最好加一层Dialog框进行询问是否更新,当点击确定时再弹出popupwindow进行下 ...

  2. 用python下载文件的若干种方法汇总

    压缩文件可以直接放到下载器里面下载的 you-get 连接 下载任意文件 重点 用python下载文件的若干种方法汇总 写文章 用python下载文件的若干种方法汇总 zhangqibot发表于Met ...

  3. 初级版python登录验证,上传下载文件加MD5文件校验

    服务器端程序 import socket import json import struct import hashlib import osdef md5_code(usr, pwd):ret = ...

  4. linux快捷上传下载文件

    借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器 其中,对于sz和rz的理解与记忆我用了如下的方法(因为很多时候容易搞混): ...

  5. 基于php下载文件的详解

    基于php下载文件的详解 本篇文章是对php下载文件进行了详细的分析介绍,需要的朋友参考下 php下载文件,比如txt文件. 出现的效果就是,弹出浏览器自带的下载框,出现另存为操作.有时候会出现内存溢 ...

  6. java上传加密_Java上传下载文件并实现加密解密

    使用 Jersey 服务器实现上传,使用 HTTP 请求实现下载 引入依赖 在 pom.xml 中添加 Jersey 相关依赖 com.sun.jersey jersey-client 1.18.1 ...

  7. sftp shell 批量上传文件_Shell自动上传下载文件到SFTP服务器

    1.说明 本文提供一个Shell脚本, 可以自动连接到SFTP服务器, 然后上传或者下载指定的文件, 进而可以使用Linux的corntab命令, 定时执行脚本上传下载文件, 实现文件的同步或者备份功 ...

  8. php 当前页面下载文件,php实现当前页面点击下载文件的简单方法

    php实现当前页面点击下载文件的简单方法 发布于 2017-08-02 17:44:21 | 80 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  9. ASP.NET 下载文件方式

    protected void Button1_Click(object sender, EventArgs e){/*微软为Response对象提供了一个新的方法TransmitFile来解决使用Re ...

最新文章

  1. 肝了3版才满意:分布式系统之CAP理论,我们对它的理解和误解
  2. 迁移到php7,迁移PHP版本到PHP7
  3. RUBY ON RAILS 插件收录: CACHE:Sweeper Generator
  4. HDU2067(卡特兰数)
  5. Linux主机通过直连线直连,【IT基础】网线的直连线与交叉线之间的区别
  6. [机器学习-总结] 什么是准确率, 精确率,召回率和(精确率和召回率的调和平均)
  7. 微信公众号服务器模式,微信公众平台的两种模式
  8. 使用mybatis插入数据(insert)时返回主键的问题
  9. pyqt5 qstring在哪个库_PyQt模型/视图结构编程示例:QStringListModel的用法
  10. Java web 第一天
  11. 【学习笔记】常见的激励函数和损失函数
  12. 信捷XD5程序+TG765触摸屏程序,功能为XY双轴排版机,带2个气缸
  13. react-custom-scrollbars滚动组件
  14. 计算机组装维修设置还原点,怎样恢复出厂设置组装电脑
  15. 倒在转“码”路上的文科生
  16. java版本与javac版本不一致引起终端无法运行java文件问题
  17. ad网络标号怎么用_【Altium Designer】AD改变网络标号的作用域
  18. matlab矩阵a(8),在matlab中对矩阵A的第2行第1列赋值为8可用A(1,2)=8表示。()
  19. 手把手教你做音乐播放器(五)音乐列表的存储(上)
  20. 特殊教育学校计算机教学心得,特教老师心得体会

热门文章

  1. 图灵JAVA架构师3-5期
  2. ubuntu server 18.04 first config
  3. 简单易懂的Dancing links讲解(4)
  4. c语言输出一个月的日历
  5. 求文件夹下图片的数量python脚本
  6. C语言连接mysql数据库详细步骤
  7. OpenStack七大组件解析
  8. Android接入华为推送详细步骤
  9. 金万维备无忧专为工业领域数据安全备份
  10. 从“进口”到“国产”,国产空间光调制器的奋起之路