Android 截击库不一致的正确响应
我一直在使用截击在我的应用程序上执行网络任务。这一次,它经常给我不一致的回答。有时是错误的反应,有时是正确的。这是我的密码:Android 截击库不一致的正确响应,android,android-volley,Android,Android Volley,我一直在使用截击在我的应用程序上执行网络任务。这一次,它经常给我不一致的回答。有时是错误的反应,有时是正确的。这是我的密码: public void requestGet(final Context context, final String url){ request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
public void requestGet(final Context context, final String url){
request = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
obj = new JSONObject(response);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
error.printStackTrace();
}
});
request.setRetryPolicy(new DefaultRetryPolicy(
0,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
RequestQueue requestQueue = Volley.newRequestQueue(context);
requestQueue.add(request);
}
一些信息:
request.setRetryPolicy(new DefaultRetryPolicy(
0,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
这里的第一个参数是超时,它应该大于0,例如10000(10s)。尝试此重试策略:-
request.setRetryPolicy(new DefaultRetryPolicy(5*1000,-1,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
对于截击,您必须正确处理错误响应。例如无连接错误、网络错误、服务器错误、解析错误等。谢谢,我理解,但是,我的问题是,它有时给出错误响应,有时是正确的。这是关于不一致性的。关于未正确处理错误响应,我认为这是一个不同的问题。这将发生,因为网络连接速度慢,或默认的volley重试策略,或由于参数错误(网络错误)等错误。我已在上面发布了我的volley代码,请检查其重试策略是否正确,好吗?我认为慢网或网络错误也是可能的。但是,我仍然会感到困惑,因为我可以在PC浏览器上打开截取的URL,并且它总是在相对较短的时间内显示正确的响应。请尝试我的重试策略回答。谢谢,我刚刚尝试过。尽管如此,有时是错误响应,有时是正确响应。原因可能是设备上的网络。尝试将超时持续时间增加到更长的时间。这可能会解决问题。请将重试计数设置为0。在这种情况下,它只会尝试一次。
request.setRetryPolicy(new DefaultRetryPolicy(5*1000,-1,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));