Volley Requestqueue Timeout
RequestQueue mRequestQueue = Volley.newRequestQueue(getApplicationContext()); mRequestQueue.add(new JsonObjectRequest(Method.GET, cityListUrl, null, new Listener(
Solution 1:
You should set the request's RetryPolicy:
myRequest.setRetryPolicy(newDefaultRetryPolicy(
MY_SOCKET_TIMEOUT_MS,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
This would change your code to:
RequestQueuemRequestQueue= Volley.newRequestQueue(getApplicationContext());
JsonObjectRequestrequest=newJsonObjectRequest(Method.GET, cityListUrl, null, newListener<JSONObject>() {
publicvoidonResponse(JSONObject jsonResults) {
//Any Call
}
}, newErrorListener(){
publicvoidonErrorResponse(VolleyError arg0) {
//Any Error log
}
}
);
intsocketTimeout=30000;//30 seconds - change to what you wantRetryPolicypolicy=newDefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
request.setRetryPolicy(policy);
mRequestQueue.add(request);
If you are only just getting started with Volley, you might want to instead consider droidQuery, which is a little easier to configure:
int socketTimeout = 30000;
$.ajax(newAjaxOptions().url(cityListUrl)
.timeout(socketTimeout)
.success(newFunction() {
publicvoidinvoke($ d, Object... args) {
JSONObject jsonResults = (JSONObject) args[0];
//Any call
}
})
.error(newFunction() {
publicvoidinvoke($ d, Object... args) {
AjaxError error = (AjaxError) args[0];
Log.e("Ajax", error.toString());
}
}));
Solution 2:
Something like this
RetryPolicyretryPolicy=newDefaultRetryPolicy(
YOUR_TIMEOUT_MS,
YOUT_MAX_RETRIES,
YOUR_BACKOFF_MULT
);
JsonObjectRequestrequest=newJsonObjectRequest(...);
request.setRetryPolicy(retryPolicy);
Or you could implement your own RetryPolicy
.
Solution 3:
This is worked for me :
RequestQueuemRequestQueue= Volley.newRequestQueue(getApplicationContext());
JsonObjectRequestrequest=newJsonObjectRequest(Method.GET, cityListUrl, null, newListener<JSONObject>() {
publicvoidonResponse(JSONObject jsonResults) {
//Any Call
}
}, newErrorListener(){
publicvoidonErrorResponse(VolleyError arg0) {
//Any Error log
}
}
);
intsocketTimeout=30000;//30 seconds - change to what you wantRetryPolicypolicy=newDefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
request.setRetryPolicy(policy);
mRequestQueue.add(request);
Solution 4:
voidRequestVolley() {
// Instantiate the RequestQueeRequestQueue queue = Volley.newRequestQueue(getApplication());
//create new volley requestJsonObjectRequest requestNew = newJsonObjectRequest(Request.Method.GET, Url, null, createMyReqSuccessListener(), createMyReqErrorListener());
//Response.Listener and Error.Listener defined afterwards//first param is TIMEOUT ...integer//second param is number of retries ...integer//third is backoff multiplier ...integer
requestNew.setRetryPolicy(newDefaultRetryPolicy(6000, 1, 1));
queue.add(requestNew);
}
privateResponse.Listener < JSONObject > createMyReqSuccessListener() {
returnnewResponse.Listener < JSONObject > () {
@OverridepublicvoidonResponse(JSONObject response) {
//do something
}
};
}
privateResponse.ErrorListenercreateMyReqErrorListener() {
returnnewResponse.ErrorListener() {
@OverridepublicvoidonErrorResponse(VolleyError error) {
//do something
}
};
}
Solution 5:
String url = "https://api.joind.in/v2.1/events?start=" + start + "&resultsperpage=20&format=json";
Log.i("DREG", "onLoadMoreItems: " + url);
final StringRequest stringRequest = newStringRequest(Request.Method.GET, url,
newResponse.Listener<String>() {
@OverridepublicvoidonResponse(String response) {
// Add Code Here
}
},
newResponse.ErrorListener() {
@OverridepublicvoidonErrorResponse(VolleyError error) {
if (error instanceofNetworkError) {
} elseif (error instanceofServerError) {
} elseif (error instanceofAuthFailureError) {
} elseif (error instanceofParseError) {
} elseif (error instanceofNoConnectionError) {
} elseif (error instanceofTimeoutError) {
Toast.makeText(getContext(),
"Oops. Timeout error!",
Toast.LENGTH_LONG).show();
}
}
}
);
stringRequest.setRetryPolicy(newDefaultRetryPolicy(
10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(stringRequest);
Post a Comment for "Volley Requestqueue Timeout"