AndroidファイルダウンロードライブラリPRDownloader(ブレークポイント継続)

3063 ワード

記事の出典:https://www.jianshu.com/p/3cf8b31f3a11
Androidファイルダウンロードライブラリ|PRDownloader 96両黄
特長
任意のファイルのダウンロードをサポートします.
ダウンロードの一時停止とリカバリをサポートします.
大きなファイルのダウンロードをサポートします.
使いやすい;
複数のインタフェースを提供し、コールバックのダウンロード開始、ダウンロード中、ダウンロード終了、エラーの各種状況をサポートする.
適切なダウンロード要求のキャンセルをサポートする.
パラレルダウンロードをサポートする;
使用方法
依存の追加
compile 'com.mindorks.android:prdownloader:0.2.0'

権限の追加


アプリケーションでの初期化
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を参照してください.