【发布时间】:2013-06-20 16:26:29
【问题描述】:
我们如何处理方向变化,Activities/Fragments停止/恢复使用Volley?
我知道对于GET 请求,响应将被缓存,并且我们第二次尝试发出该请求时,我们将获得缓存响应。(如果服务器发送正确的 HTTP 标头)
但是POST 呢?假设我发出POST 请求(即注册,我只想发生一次),我的应用程序进入后台,请求在应用程序仍在后台时完成,然后我返回应用程序。我如何获得那个Request 的Response,或者如果它仍然挂起,我该如何重新连接它?
AFAIK 在Volley 中几乎不支持此功能。我对吗?使用Volley 有没有一种简单的方法来解决上述情况?
【问题讨论】:
-
“我如何获得该请求的响应,或者我如何重新连接到它,如果它仍然挂起?” -- 仅仅因为您的应用程序不再处于前台并不会阻止线程运行。是什么让您认为
Request尚未交付给您?为异步操作使用保留的片段,这样无论方向如何变化,您的异步操作都有一个稳定的基础进行通信。 -
出于某种原因,我的印象是
Volley不会在我们转到后台时提供响应(如Robospice),但你是对的。我们必须致电requestQueue.cancel(...)停止送货。在stop/resume期间,我仍在考虑一种很好的简单方法来正确处理重新传递响应。
标签: android android-networking android-volley