【发布时间】:2018-05-25 23:13:10
【问题描述】:
我想从 URL 中获取一些数据,但服务器非常慢...
所以每当我使用 volley 获取数据时,我都会得到TimeOurError,
无论如何我可以处理多长时间凌空应该尝试获取数据,因为服务器很慢......它需要很少的时间
而且我也想不断地运行这个请求来检查数据,我打算用Timer来做……用Timer来不断地检查数据可以吗?
这是我现在的截击请求...它适用于其他 URL
public void checkData() {
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("Response",response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.i("Response",error.toString());
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> map = new HashMap<String,String>();
map.put("deviceID","none");
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
我需要连续调用这个函数(在应用程序内)
更新
我用过
tringRequest.setRetryPolicy(new DefaultRetryPolicy(
30000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
它成功了,现在我想在我的应用程序中不断地提出这个请求......最好的方法是什么?
【问题讨论】:
-
试试this