排球:TimeOutError

时间:2017-12-12 09:57:22

标签: android android-volley

我想从URL获取一些数据,服务器很慢...... 所以每当我使用凌空来获取数据时,我得到TimeOurError, 无论如何,我可以处理多长时间凌空应该尝试获取数据,因为服务器很慢......这需要很少的时间 而且我也想不断地运行这个请求来检查数据,我打算使用Timer ...是否可以使用Timer连续检查数据?

这是我现在的截击请求...适用于其他网址

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);

}

我需要连续调用这个函数(在app中)

更新

我用过

tringRequest.setRetryPolicy(new DefaultRetryPolicy(
            30000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

它工作正常,现在我想在我的应用程序中不断提出这个请求......最好的方法是什么?

4 个答案:

答案 0 :(得分:0)

StringRequest request = new StringRequest(Request.Method.GET, requestURL, stringListener, errorListener);
        request.setRetryPolicy(new DefaultRetryPolicy(
                30000,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

        addToRequestQueue(request);

//此代码有助于增加截击请求的时间。

答案 1 :(得分:0)

您可以 setRetryPolicy 来控制请求超时时间。

stringRequest.setRetryPolicy(new DefaultRetryPolicy(
        YOUR_TIMEOUT_MS, 
        DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

看看this Qus。

答案 2 :(得分:0)

添加这4行以将android排球时间增加到60秒

StringRequest myRequest   

JsonObjectRequest myRequest

RetryPolicy policy = new DefaultRetryPolicy(60000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
myRequest.setRetryPolicy(policy);

RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(myRequest);

答案 3 :(得分:0)

这段代码将有助于增加截击请求的时间尝试一下。并解决截击:TimeOutError

stringRequest.setRetryPolicy(new DefaultRetryPolicy(
    30000,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT
));