我需要以这种形式为我的应用制作一个动态下载管理器:
- 向当前列表添加新链接
- 可以暂停和恢复下载
从自定义列表中删除完整的下载
像这样
一开始我用this site code用于线程下载。
然后,我制作了一个自定义 ListView ,每次用户单击“下载”按钮时,都会添加该下载链接。
但是我有两个问题:
- 添加新链接到列表后,所有列表都将是新的!
- 同样,以前未完成的下载将是新的,因为列表将是新的!
现在,问题是: 我如何为我的应用程序创建一个动态下载管理器,可以添加新链接到具有暂停/恢复功能的列表并从自定义列表中删除下载的项目?
编辑 - 添加自定义 ListView
我在这个链接中的自定义 ListView :https://github.com/saeid-pm/Custom-Listview
最佳答案
终于在大约 1 年之后(:D) 这是最好的解决方案之一:
使用 this library通过添加到带有库的项目,
或使用 Android Studio 依赖项:
dependencies {
compile 'com.mani:ThinDownloadManager:1.3.0'
}
它是最好和最快的(任何)文件下载库之一,使用和自定义也非常简单。
例如,在我的问题(1 年前)中,我想要多文件下载
,可以轻松地通过以下方式指定线程池大小:
ThinDownloadManager downloadManager = new ThinDownloadManager(DOWNLOAD_THREAD_POOL_SIZE);
//DOWNLOAD_THREAD_POOL_SIZE = number of threads.
祝你好运!
编辑@Bhuvi 的答案,(设置目标下载文件)
定义文件目的地:
String fileName ="file name"; File root = android.os.Environment.getExternalStorageDirectory(); File dir = new File(root.getAbsolutePath() +`subfolder name`); if (dir.exists() == false) { dir.mkdirs(); } final Uri destinationUri = Uri.parse(dir + fileName);
然后
setDestinationURI
(您的路径)用于ThinDownloadManager
downloadRequest = new DownloadRequest(downloadUri)setDestinationURI(destinationUri).setPriority(DownloadRequest.Priority.HIGH)
编辑@farhad.kargaran 的回答 - 2017/12/06
如我所见ThinDownloadManager存储库,最新版本是 1.3.0
但根据@farhad.kargaran 的回答也有版本 1.4.0
,我没有测试新版本的功能,但你也可以根据@farhad.kargaran 的回答测试新版本。
关于android - ListView 中的多个文件下载管理器 +progress/pause/resume android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23720624/