下载多个文件:DownloadManager或AsyncTasks

时间:2014-09-16 09:02:51

标签: android android-asynctask android-download-manager

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

2 个答案:

答案 0 :(得分:1)

如果您使用 DownloadManager ,那么下载多个文件会更好。您可以在队列中设置请求,即使您的应用未运行,您的文件也会下载。如果出现问题,即丢失连接,它将在您获得连接时恢复下载。

答案 1 :(得分:0)

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

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

我希望这会有所帮助。