我有以下要求:
I>一个AsyncTask,它获取Paginated数据,比如100页,每个100个项目。
II>一个意图服务,它也可以获取Paginated数据,比如100页,每个包含100个项目。
我遇到以下问题:
我在HttpCommunication类中使用以下方法getResponseFromServerGET()与服务器进行通信。
public String getResponseFromServerGET(String serviceUrl,
HashMap<String, String> headerInfo) {
String responseStr = "";
try {
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 30000);
HttpConnectionParams.setSoTimeout(httpParameters, 30000);
HttpClient mHttpClient = new DefaultHttpClient(httpParameters);
HttpGet mHttpGet = new HttpGet(serviceUrl);
// Get the key value from the HashMap
if (headerInfo != null) {
for (String iterator : headerInfo.keySet()) {
mHttpGet.addHeader((String) iterator,
(String) headerInfo.get((String) iterator));
}
}
HttpResponse mResponse = mHttpClient.execute(mHttpGet);
HttpEntity mEntity = mResponse.getEntity();
if (mEntity != null) {
InputStream inputStream = mEntity.getContent();
responseStr = Utils.convertStreamToString(inputStream);
inputStream.close();
}
} catch (ClientProtocolException e) {
} catch (IllegalStateException e) {
} catch (IOException e) {
}
return responseStr;
}
public static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
} catch (IOException e) {
}
return sb.toString();
}
我创建了两个实例&amp;从两个不同的类中调用以下方法。 AsyncTask&amp;之间没有任何联系。 IntentService。
HttpCommunication comm1 = new HttpCommunication();
comm1.getResponseFromServerGET(); // Passing the necessary params in IntentService
HttpCommunication comm2 = new HttpCommunication();
comm2.getResponseFromServerGET(); // Passing the necessary params in AsyncTask
获取响应后,通过调用另一个类ParseResponse中的相应方法,从IntentService和AsyncTask解析响应。
在解析从IntentService获取的响应时,有时会抛出以下异常,
&#34; org.json.JSONException:未终止的对象&#34;
有时并非总是会出现此问题。 这可能是一个HTTP问题或特别是IntentService问题,由于AsyncTask&amp; IntentService,服务器的响应(JSON)是否已损坏?
我已经检查了每个页面的服务器日志响应,但没有发现任何响应(JSON)被发送的异常。
任何建议/提示都将受到赞赏。