异步HTTP请求,排队请求

时间:2011-06-16 08:01:17

标签: java android xml httprequest

我之前为appstore开发过并使用ASIHTTPRequest。 Android有类似的东西吗?

我正在考虑制作一些排队且可管理的HTTP请求。这就是我需要做的事情:

  1. 设置一个队列,让我们说6个http请求。
  2. 设置队列后,请在每次请求时执行该操作,以获得成功/失败结果。
  3. 如果一个请求失败,我可以选择取消/清除整个队列。
  4. 如果队列中的所有请求都成功,我可以为整个队列的成功事件提供另一个回调。
  5. 并且,每个请求都可以重试计数;含义;我可以说每个请求都可以在返回失败之前重试n次。
  6. IOS的{p> ASIHTTPRequest非常善于处理这个问题。无论如何我可以用Android做到这一点吗?我返回的大部分内容都是XML而没有二进制数据。

    非常感谢任何反馈。

1 个答案:

答案 0 :(得分:1)

您所描述的内容并非过于复杂。

  1. 扩展java.util.Queue
  2. 创建自定义“侦听器”界面,处理您需要跟踪的所有事件。
  3. 允许设置“侦听器”的自定义请求对象。
  4. 您的自定义队列将有一个线程来处理其自己队列中的项目。
  5. 根据您的具体要求,您可能还需要一个额外的接口/侦听器来将最终响应传回给发出初始请求的对象。
  6. 将对象添加到队列时,您的队列会将自己设置为自定义请求对象上的“侦听器”。

    当事件发生在请求对象中时,将在侦听器对象上调用事件方法...如果队列...可以做出适当的反应。

    我怀疑像ASIHTTPRequest这样的东西在Java / Android中并不存在,因为在iOS上解决问题并不困难。我可以在20分钟或更短的时间内将上述对象实现为功能组件。当然,如果你以前没有这样做过,可能需要更长的时间。