推荐一个开源文件下载库PRDownloader

PRDownloader — 一个支持Android文件下载暂停和恢复的库

概述

  • PRDownloader 可以用来下载任何类型的文件,如图像,视频,PDF,APK等。
  • 这个库支持暂停和恢复下载文件。
  • 支持大文件下载。
  • 这个下载库只有一个简单的接口来请求下载。
  • 我们可以通过下载ID检查下载状态。
  • PRDownloader提供多个接口,支持回调OnStart、onProgress、OnCancel、OnError等各种情况。
  • 支持适当的请求取消。
  • 许多请求可以并行实现。
  • 所有自定义设置都是可能的。

使用

   1. 添加依赖

        compile 'com.mindorks.android:prdownloader:0.2.0'

   2. 添加权限

        请不要忘记在清单中添加Internet权限

   3. 在application 类oncreate()初始化方法

        PRDownloader.initialize(getApplicationContext());

   4. 初始化使用
// 即使在应用程序被杀死后启用数据库支持恢复
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setDatabaseEnabled(true)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

//为下载网络请求全局设置超时
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setReadTimeout(30_000)
                .setConnectTimeout(30_000)
                .build();
PRDownloader.initialize(getApplicationContext(), config); 
   5. 请求下载
int downloadId = PRDownloader.download(url, dirPath, fileName)
                        .build()
                        .setOnStartOrResumeListener(new OnStartOrResumeListener() {
                            @Override
                            public void onStartOrResume() {
                               
                            }
                        })
                        .setOnPauseListener(new OnPauseListener() {
                            @Override
                            public void onPause() {
                               
                            }
                        })
                        .setOnCancelListener(new OnCancelListener() {
                            @Override
                            public void onCancel() {
                                
                            }
                        })
                        .setOnProgressListener(new OnProgressListener() {
                            @Override
                            public void onProgress(Progress progress) {
                               
                            }
                        })
                        .start(new OnDownloadListener() {
                            @Override
                            public void onDownloadComplete() {
                               
                            }

                            @Override
                            public void onError(Error error) {
                               
                            }
                        });       
   6. 暂停下载
PRDownloader.pause(downloadId);
   7. 重新下载
PRDownloader.resume(downloadId);
   8. 取消下载
// 用下载ID取消
PRDownloader.cancel(downloadId);
// 可以将标记设置为任何请求,然后可用于取消请求。
PRDownloader.cancel(TAG);
// 取消所有请求
PRDownloader.cancelAll();
   9. 下载状态
Status status = PRDownloader.getStatus(downloadId);
   10. 如果数据库启用,则清除已恢复的文件
// Method to clean up temporary resumed files which is older than the given day
PRDownloader.cleanUp(days);


github传送门



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值