繁体   English   中英

loopj android-async-http请求有时根本没有响应

[英]The loopj android-async-http request sometimes didn't response at all

我正在使用此库从我的Web服务中请求。 有时在onSuccess和onFailure中根本没有响应(这是我覆盖的仅有的两个方法)。 我在1.4.4和1.4.5下进行了测试(android-async-http-1.4.5-20131110.125018-1,这个比较好,但有时仍然会遇到问题)。 我确定这不是网络问题,因为我的ios应用程序从未在同一Web服务中遇到此问题。 发生此问题后立即刷新时,我可以获得响应。

这是我的代码:

在requester.java中

public class Requester 
{

    public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {

    AsyncHttpClient client = newClient();
    client.get(getAbsoluteUrl(url), params, responseHandler);
}

public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {

    AsyncHttpClient client = newClient();
    client.post(getAbsoluteUrl(url), params, responseHandler);
}

private static String getAbsoluteUrl(String relativeUrl) {
    return Settings.BASE_URL + relativeUrl;
}

private static AsyncHttpClient newClient()
{
    AsyncHttpClient client = new AsyncHttpClient();
    client.setMaxRetriesAndTimeout(Settings.HTTP_TIMEOUT,Settings.HTTP_RETRIES);
    return client;
}
}

在我的活动中,谁在发出http请求:

    Requester.get(urlRequest, null, new JsonHttpResponseHandler()
    {
        @Override
        public void onSuccess(int statusCode, org.apache.http.Header[] headers, org.json.JSONArray objects)
        {
            Logger.logDebug(TAG, "request success for " + " " + objects.length() + " objects");
        }

        @Override
        public void onFailure(int statusCode, org.apache.http.Header[] headers, java.lang.Throwable throwable, org.json.JSONArray errorResponse)
        {
            Logger.logError(TAG,"Failed to request");
        }

    });

我在一些项目中使用了类似的资源。 但是所有人都有同样的问题。 我不知道这是我的代码或android-async-http库的问题。 有人可以帮忙吗? 谢谢。

顺便说一句,我通常使用与上述源代码相同的方法,但URL不同,同时发出3个请求。

我确认该问题与多个请求有关。 我的解决方案是替换为另一个库:Volley库。 问题解决了!

我也遇到了这个问题,经过进一步的调查,我意识到,如果收到的json响应格式不正确,或者服务器的响应中包含任何多余的字符,尽管发布或获取,您都不会得到回调方法的调用。将会被处理,回调将不会被触发。 从服务器检查您的响应以确保。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM