我想實現一個httpClient類,這是一個AsyncTask(否則我得到一個異常,因爲我的主線程中有一個連接)。 我想是這樣的:Android Async Http獲取請求
private class execHttpAsync extends AsyncTask <String, String, HttpResponse>
{
public String resultString;
@Override
protected HttpResponse doInBackground(String... params)
{
String url = params[0];
HttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
request.setHeader("Content-Type", "text/xml");
HttpResponse response;
try {
response = httpClient.execute(request);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return response;
}
@Override
protected void onPostExecute(HttpResponse result)
{
StringBuffer returned = new StringBuffer();
InputStream content = result.getEntity().getContent();
BufferedReader rd = new BufferedReader(new InputStreamReader(content, "UTF-8"));
String line;
while ((line = rd.readLine()) != null)
{
String endOfLine = "";
returned.append(line + endOfLine);
}
content.close();
String retVal = returned.toString();
try
{
String header = retVal.substring(0, 1);
if (!header.equals("<"))
{
retVal = retVal.replace(header, "");
}
}
catch (Exception e)
{
// TODO: handle exception
}
resultString = returned.toString();
}
}
但我需要得到最終的響應。我試圖實例化這個類,然後得到響應作爲成員,但沒有解決。 有什麼建議嗎?
你遇到了什麼樣的錯誤?你沒有得到結果嗎?發佈堆棧跟蹤,如果有的話。 –