推荐一个开源文件下载库PRDownloader
生活随笔
收集整理的這篇文章主要介紹了
推荐一个开源文件下载库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() {@Overridepublic void onStartOrResume() {}}).setOnPauseListener(new OnPauseListener() {@Overridepublic void onPause() {}}).setOnCancelListener(new OnCancelListener() {@Overridepublic void onCancel() {}}).setOnProgressListener(new OnProgressListener() {@Overridepublic void onProgress(Progress progress) {}}).start(new OnDownloadListener() {@Overridepublic void onDownloadComplete() {}@Overridepublic 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傳送門
總結
以上是生活随笔為你收集整理的推荐一个开源文件下载库PRDownloader的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NJU7670M是可生成2倍或3倍电压的
- 下一篇: CString::CompareNoCa