我的Json课程需要很多时间来加载

时间:2018-08-13 00:10:23

标签: android json android-json jsonparser

我创建了自己的JSON类。但是,当互联网速度缓慢时,我遇到了问题。 当互联网速度慢或mysql服务器出现问题时。这会花费很多时间,并且永远不会检索数据。因此,我想取消连接。 我该如何修改我的JSON类。或者,是否需要在Async <>中执行此操作。

我的JSON类:

  public class JSONParser {

public String ret ;
public JSONObject makeHttpRequest(String url, List<NameValuePair> pairs)
{
    UrlEncodedFormEntity form;
    try
    {
        HttpParams httpParams = new BasicHttpParams();

        int timeoutConnection = 500;
        HttpConnectionParams.setConnectionTimeout(httpParams, timeoutConnection);

        int timeoutSocket = 500;
        HttpConnectionParams.setConnectionTimeout(httpParams, timeoutSocket);

        DefaultHttpClient defaultHttpClient = new DefaultHttpClient(httpParams);
        HttpPost httpPost = new HttpPost(url);

        if (pairs != null)
        {
            httpPost.setEntity(new UrlEncodedFormEntity(pairs,"UTF-8"));
        }

        HttpResponse httpResponse = defaultHttpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();

        if (httpEntity != null)
        {
            ret = EntityUtils.toString(httpEntity);
            return new JSONObject(ret.substring(ret.indexOf("{"), ret.lastIndexOf("}") + 1));
        }
    }
    catch (Exception ex)
    {

    }
    return null;
}
}

1 个答案:

答案 0 :(得分:0)

@Amjad,在这种情况下,解析器类没有问题。正如您提到的,如果互联网速度很慢,那么接收时间本身将花费很长时间。你为什么不尝试改造。响应成功后,它将返回您的确切模型。也可以随时取消请求。您可以refer this link