Android開發工具類之DownloadManagerPro

westwolf發表於2021-09-09
昨天含含糊糊的講了一下HttpUtils,又有人跟我反饋說,別管看得懂,要照顧到看不懂的,還是要求我寫詳細一些,我想也是,能看懂的可以不看,重點就是讓人好好得到學習的,眾口難調嘛,以後我寫東西儘量都寫的詳細一些,適合更多小白使用者看,才能更好,更能提高大家的能力。如果你能看懂,也不要跟我說沒必要解釋的什麼的了,因為畢竟要讓大家都弄明白。

言歸正傳,今天我們來詳細的講一下DownloadManagerPro這個工具類,說白了,這個工具類就是Android系統下載管理DownloadManager的一個增強類,提供了一些增強方法。或許大家不太瞭解這個安卓系統自帶的DownloadManager這個類,我先做一個簡單介紹吧。

DownloadManager是系統開放給第三方應用使用的類,包含兩個靜態內部類DownloadManager.Query和DownloadManager.Request。DownloadManager.Request用來請求一個下載,DownloadManager.Query用來查詢下載資訊。用downloadManager的enqueue介面進行下載,返回唯一的downloadId。注意這個id,我們會在DownloadManagerPro這個工具增強類中用到。正題來了,下面就介紹一下這個DownloadManagerPro。

DownloadManagerPro這個增強類中有一下這些方法,我會對這些方法進行一個逐一的解釋,希望大家不要嫌囉嗦。

1、int[] getBytesAndStatus(long downloadId)

這個方法就是傳入我們上面所說的那個enqueue介面返回的下載id,可以獲取到這個下載檔案已經下載了多大,總共多大,以及下載狀態,返回資訊是一個int陣列,包含了這三個資訊。

2、int[] getDownloadBytes(long downloadId)

這個方法就是傳入下載id,可以獲取到已經下載了多大,總共這個下載檔案有多大的資訊,返回資訊也是一個int陣列。

3、int getErrorCode(long downloadId)

這個方法是傳入下載id,得到的返回資訊就是這個檔案下載失敗的錯誤程式碼,error code。

4、String getFileName(long downloadId)

這個方法就是傳入下載id,返回下載檔案的名字

5、int getPausedReason(long downloadId)

這個方法是傳入下載id,返回下載停止的原因

6、int getReason(long downloadId)

這個方法就是傳入下載id,返回下載失敗或者停止的錯誤程式碼

7、int getStatusById(long downloadId)

這個方法就是傳入下載id,返回下載資訊的狀態碼

8、String getUri(long downloadId)

這個方法就是傳入下載id,返回下載檔案的uri

9、static boolean isExistPauseAndResumeMethod()

這個方法就是判斷在DownloadManager中是否存在停止下載的和重新下載的方法

10、int pauseDownload(long... ids)

這個方法就是傳入多引數的id,停止響應下載id的下載

11、int resumeDownload(long... ids)

這個方法就是傳入多引數的下載id,繼續或者恢復停止的下載

原文連結:http://www.apkbus.com/blog-47151-59377.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4662/viewspace-2816603/,如需轉載,請註明出處,否則將追究法律責任。

相關文章