Reputation: 1467
I am trying to hit a rest service using Volley.
public class AuthFunctions {
private static final String LOGIN_URL = "http://10.0.2.2:8080/stewayservices/user-management/users/10";
boolean result;
public boolean loginUser(String email,String password){
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,LOGIN_URL,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("JsonObject Response",response.toString());
try {
JSONObject user = response.getJSONObject("user");
String firstName = user.getString("firstName");
if (firstName.equals("Lokesh")){
result = true;
}
else{
result = false;
}
} catch (JSONException e) {
Log.d("Web Service Error",e.getMessage());
e.printStackTrace();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.d("JsonObject Error Response",volleyError.toString());
}
});
request.setRetryPolicy(new DefaultRetryPolicy(500000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
AppController.getInstance().addToRequestQueue(request);
return result;
}
}
But it is giving me the Volley Timeout error. Below is the Logcat
D/JsonObject Error Response﹕ com.android.volley.TimeoutError
Please let me know know if I am doing it wrong. This is my first question in stackoverflow regarding Android.
Upvotes: 26
Views: 120362
Reputation: 35
use retry policy like this
request.setRetryPolicy(new DefaultRetryPolicy(20 * 1000, 2, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(request);
Upvotes: 0
Reputation: 3616
5 year old question is tough to deal with today's problem.
Volley will no more accept http and ip address. Will accept only https with fqdn only.
Upvotes: 0
Reputation: 1201
stringRequest.setRetryPolicy(new DefaultRetryPolicy(
6000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)
);
Upvotes: 4
Reputation: 3526
On Macbook I was running a Django application written in python3.X.
I had to do the following.
Upvotes: 1
Reputation: 1
The same occurred to me, because I did not started my Xampp. I think may be the same.
Upvotes: 0
Reputation: 69
Check out that your IPv4 Address in the URL is correct and has not been changed.
Upvotes: 1
Reputation: 1
This happened to me. I determined that the problem happened because I did not start Apache and MySQL in XAMPP.
Upvotes: -3
Reputation: 129
Add the following after your error listener
myRequest.setRetryPolicy(new DefaultRetryPolicy(
MY_SOCKET_TIMEOUT_MS,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Upvotes: 2
Reputation: 381
public void onErrorResponse(VolleyError error) {
if (error instanceof NetworkError) {
} else if (error instanceof ServerError) {
} else if (error instanceof AuthFailureError) {
} else if (error instanceof ParseError) {
} else if (error instanceof NoConnectionError) {
} else if (error instanceof TimeoutError) {
Toast.makeText(getContext(),
"Oops. Timeout error!",
Toast.LENGTH_LONG).show();
}
Upvotes: 3
Reputation: 4644
String url = "https://api.joind.in/v2.1/events?start=" + start + "&resultsperpage=20&format=json";
Log.i("DREG", "onLoadMoreItems: " + url);
final StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Add Code Here
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error instanceof NetworkError) {
} else if (error instanceof ServerError) {
} else if (error instanceof AuthFailureError) {
} else if (error instanceof ParseError) {
} else if (error instanceof NoConnectionError) {
} else if (error instanceof TimeoutError) {
Toast.makeText(getContext(),
"Oops. Timeout error!",
Toast.LENGTH_LONG).show();
}
}
}
);
stringRequest.setRetryPolicy(new DefaultRetryPolicy(
10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(stringRequest);
Upvotes: 5
Reputation: 737
This worked for me:
request.setRetryPolicy(new RetryPolicy() {
@Override
public int getCurrentTimeout() {
return 50000;
}
@Override
public int getCurrentRetryCount() {
return 50000;
}
@Override
public void retry(VolleyError error) throws VolleyError {
}
});
You can change that time.
Upvotes: 53
Reputation: 711
Volley throws timeouterror when it couldn't connect to the url provided in request. reasons could be:
1)connectivity. 2)Url is not valid.
Try running it on emulator.It should work on emulator as emualator runs on same machine and has same ip as your wamp running on.
To make it work on real device connect your device to same WLAN as your wampserver is running on. If not connected to same WLAN you have to host your php scripts to web. To do this there are many free web hosting sites like https://www.000webhost.com/ are available check them out.
Hope this help!
Upvotes: 2
Reputation: 1302
com.android.volley.TimeoutError
In 75% cases this error is occured due to connectivity issue '
if you are testing on localhost or local server
Check firewall is off
Upvotes: 19