Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 下载多个文件:DownloadManager或AsyncTasks_Android_Android Asynctask_Android Download Manager - Fatal编程技术网

Android 下载多个文件:DownloadManager或AsyncTasks

Android 下载多个文件:DownloadManager或AsyncTasks,android,android-asynctask,android-download-manager,Android,Android Asynctask,Android Download Manager,我正在开发一个应用程序,允许用户从一个网站下载多个播客文件,我对“如何”向用户显示下载进度有些怀疑。 目前,我的应用程序只是由一个显示可用文件列表的活动组成,当用户点击某个元素时,我启动DownloadManager。 我通过保持DonwloadManager(并以某种方式发出信号,例如通过更改下载文件的颜色、下载结束)获得更好的使用体验,或者更好地使用AsyncTasks并在单独的视图中显示Donwloading进度(例如,为每个下载文件显示进度条的片段)?如果要使用下载管理器,最好下载多个文

我正在开发一个应用程序,允许用户从一个网站下载多个播客文件,我对“如何”向用户显示下载进度有些怀疑。 目前,我的应用程序只是由一个显示可用文件列表的活动组成,当用户点击某个元素时,我启动DownloadManager。
我通过保持DonwloadManager(并以某种方式发出信号,例如通过更改下载文件的颜色、下载结束)获得更好的使用体验,或者更好地使用AsyncTasks并在单独的视图中显示Donwloading进度(例如,为每个下载文件显示进度条的片段)?

如果要使用下载管理器,最好下载多个文件。您可以在队列中设置请求,即使您的应用程序未运行,您的文件也将被下载。如果出现问题,即失去连接,它将在您获得连接时恢复下载。

据我所知,DownloadManager类一次下载一个文件,但允许您对多个文件进行排队。它还可以管理诸如连接中断等非常有用的东西。使用DownloadManager还可以使用DownloadManager.request调用文件进度

使用AsyncTask的优点是它附带的方法,即onPostExecute、onPreExecute、onProgressUpdate和doInBackground。您可以通过回调通知UI线程更新进度条。另外,使用AsyncTask作为下载服务将允许同时下载多个文件,而不是将下载排队


我希望这能有所帮助。

使用AsyncTasks并显示加载进度
您也可以使用downloadmanager显示进度对话框。