android - ListView 中的多个文件下载管理器 +progress/pause/resume android

标签 android android-download-manager

我需要以这种形式为我的应用制作一个动态下载管理器:

  1. 向当前列表添加新链接
  2. 可以暂停和恢复下载
  3. 从自定义列表中删除完整的下载

    像这样pic:

一开始我用this site code用于线程下载。

然后,我制作了一个自定义 ListView ,每次用户单击“下载”按钮时,都会添加该下载链接。

但是我有两个问题:

  1. 添加新链接到列表后,所有列表都将是新的!
  2. 同样,以前未完成的下载将是新的,因为列表将是新的!

现在,问题是: 我如何为我的应用程序创建一个动态下载管理器,可以添加新链接到具有暂停/恢复功能的列表并从自定义列表中删除下载的项目?


编辑 - 添加自定义 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 的答案,(设置目标下载文件)

  1. 定义文件目的地:

            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);
    
  2. 然后 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/

相关文章:

android - UiModeManager - 夜间模式 (Froyo)

java - 来自 Baseadapter 的 Android Java 进度对话框

android - 如何以编程方式获取用户在 Android OS 配置上设置的数据使用限制?

Android Intent 过滤器在尝试在下载管理器中查看 CSV 文件时收到通知

android - 从 Android 下载管理器完成所有下载后如何通知

android - 在禁用市场的情况下使用 Android 的 C2DM

android - 如何检查标记是否在方向上?

Android 依次下载多个文件并在ListView中显示进度

java - 在 DownloadManager 下载时显示进度对话框?

Android Studio 1.1 Gradle 2.2.1 Gradle 版本 2.1 要求当前版本为 2.2.1