我使用Volley向后端发送请求,有时我调试并发现它的响应错误并且没问题。我不知道为什么会这样。感谢您的帮助,向我解释这个案例。
答案 0 :(得分:1)
我认为这是Volley中的重试功能问题,如果你没有设置重试请求,它会自动重试发送另一个请求,如果等待响应太长时间。您可以像Volley这样在Volley中设置请求策略
StringRequest sr = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>()
{
@Override
public void onResponse(String response)
{
//response OK
}
}, new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
//response Error
}
})
{
@Override
protected Map<String,String> getParams()
{
return getParams();
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError
{
return getHeaders();
}
};
sr.setRetryPolicy(new DefaultRetryPolicy(
(int) TimeUnit.SECONDS.toMillis(10),//time out in 10second
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,//DEFAULT_MAX_RETRIES = 1;
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
getRequestQueue().add(sr);