我为什么会收到错误?com.android.volley.timeouterror

时间:2017-12-08 04:31:39

标签: java android android-volley

大家好,有人可以帮我上课吗?我收到一个错误,我只是Android工作室和移动开发的新手。我正在学习和获取知识的过程中。请帮我。

RequestQueue requestQueue = Volley.newRequestQueue(this);

StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        Toast.makeText(Register.this, response, Toast.LENGTH_LONG).show();
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Toast.makeText(Register.this, error.toString(), Toast.LENGTH_LONG).show();

    }
}) {

    @Override
    protected Map<String, String> getParams() throws AuthFailureError {

        Map<String, String> params = new HashMap<String, String>();
        params.put(NAME, pangaran);
        params.put(SURNAME, apelyido);
        params.put(ADDRESS, lugar);
        params.put(CONTACTNO, kontak);
        params.put(USERNAME, username1);
        params.put(PASSWORD, password1);
        return params;

    }
};

requestQueue.add(stringRequest);

3 个答案:

答案 0 :(得分:2)

可能是你可以增加超时来检查一切的好工作。由于您之前说过您的代码适合您,可能的原因可能是您的服务器花了较少的时间来回复您的请求,由于流量的原因,这些请求可能不一致。 尝试在现有代码中添加以下行。

stringRequest.setRetryPolicy(new RetryPolicy() {
        @Override
        public int getCurrentTimeout() {
            return 30000;
        }

        @Override
        public int getCurrentRetryCount() {
            return 30000;
        }

        @Override
        public void retry(VolleyError error) throws VolleyError {

        }
    });

答案 1 :(得分:0)

请参阅此link,希望它能帮助您设置截击时间。

如果它没有帮助,请告诉我。

已更新

最后我插入了代码以更改由volley设置的默认时间,您可以自己设置时间,它应该以毫秒为单位。

RequestQueue requestQueue = Volley.newRequestQueue(this);

StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
    Toast.makeText(Register.this, response, Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
    Toast.makeText(Register.this, error.toString(), Toast.LENGTH_LONG).show();

}
}) {

@Override
protected Map<String, String> getParams() throws AuthFailureError {

    Map<String, String> params = new HashMap<String, String>();
    params.put(NAME, pangaran);
    params.put(SURNAME, apelyido);
    params.put(ADDRESS, lugar);
    params.put(CONTACTNO, kontak);
    params.put(USERNAME, username1);
    params.put(PASSWORD, password1);
    return params;

}
};

//10000 is the time in milliseconds adn is equal to 10 sec
stringRequest.setRetryPolicy(new DefaultRetryPolicy(
            10000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

requestQueue.add(stringRequest);

答案 2 :(得分:0)

对于我:仅对您的“ VPN”而言,请关闭“ VPN”