安卓文件下载库 PRDownloader(断点续传)

文章出处:https://www.jianshu.com/p/3cf8b31f3a11

安卓文件下载库 | PRDownloader
96 两只黄鹂鸣翠鸟 关注
2017.12.05 11:05 字数 171 阅读 852评论 0喜欢 4
名称 PRDownloader
语言 Android
平台 GitHub
作者 MindorksOpenSource
链接 点此进入
今天推荐的是一款具备完善功能的安卓文件下载库——PRDownloader 。

特点

支持下载任意文件;

支持暂停和恢复下载;

支持下载大文件;

使用简单;

提供多个接口,支持回调开始下载、下载中,下载结束,出现错误各种情况;

支持适当的下载请求取消;

支持并行下载;

使用方法

添加依赖

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

添加权限

<uses-permission android:name="android.permission.INTERNET" />

在Application中初始化

PRDownloader.initialize(getApplicationContext());

// Enabling database for resume support even after the application is killed:
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setDatabaseEnabled(true)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

// Setting timeout globally for the download network requests:
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setReadTimeout(30_000)
                .setConnectTimeout(30_000)
                .build();
PRDownloader.initialize(getApplicationContext(), config);
请求下载文件
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) {

                        }
                    });

暂停下载

PRDownloader.pause(downloadId);

恢复下载

PRDownloader.resume(downloadId);

取消下载

// Cancel with the download id
PRDownloader.cancel(downloadId);
// The tag can be set to any request and then can be used to cancel the request
PRDownloader.cancel(TAG);
// Cancel all the requests
PRDownloader.cancelAll();

获取下载状态

Status status = PRDownloader.getStatus(downloadId);

清楚下载

PRDownloader.cleanUp(days);

更多使用方法请参考其GitHub。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值