关于volley请求失败会重新请求问题

来源:互联网 发布:如何用js加一个对话框 编辑:程序博客网 时间:2024/06/10 08:56

  Volley中没有指定的方法来设置请求超时时间,可以设置RetryPolicy 来变通实现。DefaultRetryPolicy类有个initialTimeout参数,可以设置超时时间。要确保最大重试次数为0,以保证超时后不重新请求。



为确保请求失败后不重新请求问题,我们可以针对volley这样设置:


req.setRetryPolicy(new DefaultRetryPolicy(Constants.CUD_SOCKET_TIMEOUT,
Constants.MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));


JsonObjectRequest req = new JsonObjectRequest(Method.GET,
JSONDataUrl, 
null, 
new Response.Listener<JSONObject>() {  
@Override  
public void onResponse(JSONObject response) {  

}  
},   
new Response.ErrorListener() {  
@Override  
public void onErrorResponse(VolleyError arg0) {  

}  
});


//重试不请求
req.setRetryPolicy(new DefaultRetryPolicy(Constants.CUD_SOCKET_TIMEOUT,
Constants.MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));




//增、删、改等操作超时时间
public static final int CUD_SOCKET_TIMEOUT = 10000;

//查询超时时间
public static final int R_SOCKET_TIMEOUT = 5000;


//最大重试请求次数
public static final int MAX_RETRIES = 0;



0 0
原创粉丝点击