我的 Json class 加载时间很长
My Json class Takes a lot of time to load
我创建了自己的 JSON class。但是,当互联网速度很慢时,我遇到了问题。
当网速很慢或 mysql 服务器出现问题时。这需要很多时间并且永远不会检索数据。所以,我想取消连接。
我该如何修改我的 JSON class 才能这样做。或者,我是否需要在我的 Async<> 中这样做才能这样做。
我的 JSON class :
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;
}
}
@Amjad,解析器 class 在这种情况下没有问题。正如您提到的那样,如果互联网速度很慢,那么接收时间本身就需要很长时间。你为什么不尝试改造。响应成功后,它将 return 您精确建模。也可以随时取消请求。你可以 refer this link
我创建了自己的 JSON class。但是,当互联网速度很慢时,我遇到了问题。 当网速很慢或 mysql 服务器出现问题时。这需要很多时间并且永远不会检索数据。所以,我想取消连接。 我该如何修改我的 JSON class 才能这样做。或者,我是否需要在我的 Async<> 中这样做才能这样做。
我的 JSON class :
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;
}
}
@Amjad,解析器 class 在这种情况下没有问题。正如您提到的那样,如果互联网速度很慢,那么接收时间本身就需要很长时间。你为什么不尝试改造。响应成功后,它将 return 您精确建模。也可以随时取消请求。你可以 refer this link