如何逐个下载队列中的多个文件!我使用this作为示例代码,因为。 我将动态地从本地数据库中传递URL以在Strings中下载。
请告诉我怎么做。我想在应用程序启动后立即开始下载。请帮助我! Android Dev Type :新手 下载队列的目的:在应用内结算成功后,从服务器下载多个文件!
P.S。:我已经提到了this个问题。但我不确定这是否能解决我的问题!
答案 0 :(得分:3)
将一个异步处理请求排队的好方法是一次IntentService
。如果您有IntentService
从提供的Intent
读取网址,那么您只需为要下载的每个文件创建Intent
,然后发送每个Intent
到服务,
编辑:我看到您已经提到过类似的问题,答案建议IntentService
。所以,也许你应该使用IntentService
。 :)
答案 1 :(得分:0)
从API 11开始,一个好的方法是使用带有异步任务的FixedThreadPool。做一次:
ExecutorService threadPoolExecutor = Executors.newFixedThreadPool(3);
其中3是您想要同时运行的下载次数。如果已经运行了3次下载,它将对任务进行排队,并在以后自动处理该任务。 使用以下命令启动异步任务:
yourAsynTask.executeOnExecutor(threadPoolExecutor, params);
Params可能是您希望连接的网址。您可以在asynctask的onPostExecute中读出它,并使用HttpURLConnection连接到服务器。
确保在关机时调用此功能:
threadPoolExecutor.shutdown()
答案 2 :(得分:0)
在Android中实施下载队列的最佳方式是什么?
使用IntentService
。它为您提供队列和后台线程,因此您所要做的就是将下载逻辑放在onHandleIntent()
中。 See here for a sample project证明了这一点。