android编写工具类,Android开发工具类之DownloadManagerPro

庾鸿飞
2023-12-01

昨天含含糊糊的讲了一下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,继续或者恢复停止的下载

 类似资料: