我一直在看这个指南:
http://developer.android.com/training/basics/network-ops/connecting.html
并且想知道下载多个文件的最佳方式是什么。首先,我需要从网址下载文本文件,以确定要下载的文件。
我应该有2个单独的ASyncTasks,一个用于下载文件,另一个用于下载剩余文件?否则,我的代码依赖于第一个文件崩溃,因为异步任务没有及时完成。
对于进度对话,我应该为每个文件创建一个新文件还是尝试更新前一个文件?
由于
我正在为每个要下载的文件创建一个新的AsyncTask。
答案 0 :(得分:2)
一般情况下,如果您希望文件保留在设备上,并且您根据下载一个文件的结果下载多个文件,那么您应该
IntentService不受可能会杀死AsyncTask的Activity生命周期变化的影响。
每次下载数据时,都要将其保存在某处。您始终可以检查数据是否过时。另一方面,如果没有连接,则用户拥有最后的“好”数据。
要了解有关IntentService的更多信息,请参阅Running in a Background Service。示例应用程序中的内容提供程序说明了下载其他文件的“元数据”。该示例还演示了如何在下载之前检查连接。
答案 1 :(得分:1)
没有完美的答案可以涵盖所有可能的情况。
DownloadManager
课程并让它训练细节。如果您需要引用Download a file with Android, and showing the progress in a ProgressDialog,请提供有关使用活动ProgressBar下载文件的多种方法的示例。