我有一個方法(下)從我的android程序中的Web服務獲取數據。它適用於Android 2.2。但在4.x中,它會拋出一個異常,並顯示消息「Error Requesting API」。不知道哪個部分導致我的代碼中的異常,爲什麼只有在4.x有人可以給我一些指針?Android的HttpCleint工作在2.2但不是在4
public static synchronized String performHTTPRequest(HttpUriRequest request)
throws ApiException, ParseException, IOException {
HttpClientWrapper cli=new HttpClientWrapper();
HttpClient client;
try {
client=cli.getClient();
HttpResponse response = client.execute(request);
// Check if server response is valid
StatusLine status = response.getStatusLine() ;
if (status.getStatusCode() != HTTP_STATUS_OK) {
throw new ApiException("Invalid response from server: " + status.toString());
}
return EntityUtils.toString(response.getEntity());
} catch (MalformedURLException e) {
throw new Error(e);
} catch (Exception cnrce) {
throw new ApiException("Error requesting API:");
}
}
如果你知道造成異常的細節這將有助於..你應該添加到您的ApiException原因(底層除外),這樣就可以追查問題。 –
感謝阿卡什和馬特的回答/評論。在akash的建議之後,我嘗試了一些注意事項,如果我在清單中使targetSdkVersion =「8」,該應用程序在版本3和更高版本中運行。 (NetworkOnMainThreadException在這種情況下,我不承擔)。我正在努力使它成爲一個異步任務。完成後,應發佈我的工作代碼(與異步任務)。 – zolio