我需要检索大量的XML文件,每个文件来自不同的Web服务。这些是连接的,所有数据最终将用于一个对象。我想为每个Web服务创建一个类,每个类都有一个AsyncTask
来检索数据,然后按顺序发送请求,这样当我们检索数据时,我会开始下一个,直到它们全部完成。
我想知道的是,如果有更好的方法可以做到这一点,因为它看起来感觉有点低效。我无法控制这些Web服务,我无法修改或组合它们,我只能更改应用程序检索信息的方式。
任何建议都将不胜感激。谢谢!
答案 0 :(得分:0)
无需一次发送请求。 AsyncTasks来自Android系统管理的线程池。如果Web服务调用彼此没有依赖关系,您应该能够同时发送多个。
当然,如果每个Web服务调用使用一个类,您应该尝试将公共逻辑分解为基类。例如,如果有几个Web服务是REST,您可能需要考虑一个处理所有常见HTTP / REST问题的RESTWebService基类。
还考虑将第三方库用于常见任务。在您的情况下可能适用的一些是Apache HTTPComponents(用于纯HTTP调用),RESTlet(用于其他Web服务),KSoap(如果您有任何SOAP服务)。