与Volley库和服务的长期联网操作

时间:2013-11-02 00:16:40

标签: android service intentservice android-volley

一旦用户正确登录,我就有了很长的网络任务。此任务包括以下内容:

1)4次调用REST Web服务。

2)将第1点中获得的数据填充到sqlite数据库中。

3)从同一个REST Web服务下载多个图像(例如400)。

我正在使用Volley作为我的默认网络库来完成这些工作。

我的问题是:

你有什么建议我应该考虑吗? IntentService是实现这类任务的最佳方法还是服务是最佳方式?

2 个答案:

答案 0 :(得分:1)

Volley作为一项服务运行是一种很好的方法。

合并消息总线,如Otto,将数据传输到您的应用。该服务可以在其操作完成时将事件发布到总线,并且您的应用程序应该注册到事件并在完成时执行操作。

总线允许您实现异步行为和干净的设计。

答案 1 :(得分:0)

@avendael当前的回答有点想念这个问题,我想。

IntentService扩展Service并有一个主要限制 - 它按顺序而不是并行执行任务。但是Volley,对于网络esp,你可以有多个服务器连接。默认值为4,但可以配置。

IntentService的另一个主要限制,虽然它与此处发布的问题相关,但它非常适合started类型的服务而不适用于{ {1}}。我认为binding在这方面类似于Volley

希望有所帮助。