Android Async Http Client

时间:2013-09-01 09:27:24

标签: android asynchronous loopj

您好我正在使用LoopJ lib从json中的服务器获取响应。但问题是,有时我得到org.apache.http.conn.ConnectTimeoutException,有时它运行正常。我正在使用GET方法。但是,当我将URl复制并粘贴到我的浏览器时它运行良好但是在Android设备上我大多无法连接到服务器有什么问题。我做错了什么?

client.setTimeout(timoutVal);
client.get(
    "http://somewebsiteaddress.com/users.php?task=isUserPresent&email="
        + URLEncoder.encode(username) + "&password="
        + URLEncoder.encode(password) + "&licenseKey="
        + URLEncoder.encode(licKey), null,
    new AsyncHttpResponseHandler() {

        public void onSuccess(String response) {

        loading.cancel();

        Log.v("web response ", response);

        try {
            json = new JSONObject(response);

            if (json.getBoolean("status")) {

            delegate.Validation(
                json.getBoolean("isUserPresent"),

                json.getBoolean("license"), username,
                password, json);

            } else {

            delegate.invalidLogin();
            }

        } catch (JSONException e) {

            e.printStackTrace();
        }

        }

        @Override
        public void onFailure(Throwable arg) {

        Log.v("onFailure", arg + "");

        loading.cancel();

        delegate.InternetErrorDialog();

        super.onFailure(arg);
        }

    });

1 个答案:

答案 0 :(得分:0)

尝试增加超时值。 原因是客户端将尝试获取响应,直到超时值。 一旦超过超时值,它将抛出超时异常。