Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 处理多个http请求并丢弃除最后一个响应之外的所有响应_Android_Httprequest - Fatal编程技术网

Android 处理多个http请求并丢弃除最后一个响应之外的所有响应

Android 处理多个http请求并丢弃除最后一个响应之外的所有响应,android,httprequest,Android,Httprequest,我有一个android应用程序,在其中我触发http请求,从服务器获取数据,并显示在mapview中。每当用户请求时,我发出一个请求,现在我需要的是,让用户用7遍(意味着7个请求进入),我应该取消/丢弃来自前6个请求的响应,并考虑在MavVIEW中显示的第七个响应。 我只是有一个模糊的想法,在请求进入时维护一个请求队列,并将其逐个发布到服务1。如果新请求进入,如果请求尚未发布,请取消它。如果请求已被发布,并且新的请求传入,则放弃其响应 最好的处理方法是什么。任何指示 您可以使用单例设计模式。如果

我有一个android应用程序,在其中我触发http请求,从服务器获取数据,并显示在mapview中。每当用户请求时,我发出一个请求,现在我需要的是,让用户用7遍(意味着7个请求进入),我应该取消/丢弃来自前6个请求的响应,并考虑在MavVIEW中显示的第七个响应。 我只是有一个模糊的想法,在请求进入时维护一个请求队列,并将其逐个发布到服务1。如果新请求进入,如果请求尚未发布,请取消它。如果请求已被发布,并且新的请求传入,则放弃其响应


最好的处理方法是什么。任何指示

您可以使用单例设计模式。如果实现正确,它将只允许一个线程/异步任务更改其状态。这样,您可以确保它只保存您处理的上一个响应中的数据。

问题是:您何时决定用户准备好平移

如果要创建某种队列,则需要知道何时决定用户已准备好平移

在一定量的平底锅(例如7)后,您等待2秒钟?并决定“好,用户已完成平移,让我们处理最后一个请求”? 意思是只做一个请求

或者,您是否实际执行了7个请求,并且只使用最后一个响应

如果执行7个请求,为什么不将所有响应保存在同一个变量中,有效地始终使用最后一个

可能性1(许多请求和许多地图绘制):

  • 用户pans
  • 发送地图信息请求
  • 保存响应
  • 绘制地图
  • 然后重复上述步骤
可能性2(许多要求,较少的地图绘制):

  • 用户pans
  • 发送地图信息请求
  • 保存响应
  • 检查计时器是否用户已完成平移? 是:继续,否:重复上述步骤
  • 绘制地图
可能性3(较小的要求,较小的地图绘制):

  • 用户pans
  • 保存请求
  • 检查计时器是否用户已完成平移? 是:继续,否:重复上述步骤
  • 发送地图信息请求
  • 保存响应
  • 绘制地图

非常感谢您的详细回复。非常感谢。让我试试实施可能性3。祝你好运!如果成功了,别忘了把它标记为答案;)你肯定timmied已经投票了,一旦我完成了我的实现,+1将被标记为答案。