Poniższa metoda wypada podczas odczytu HttpResponse z błędem: "Treść została zużyta". Rozumiem, że treść może zostać zużyta tylko raz, ale pojawia się ten błąd przy pierwszej próbie i nie widzę nigdzie w kodzie, w którym potencjalnie zajmuję to dwa razy.Android HttpResponse - Zawartość została zużyta
private static String getData(String url, HttpParams params) {
StringBuilder builder = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
if (params != null) {
httpGet.setParams(params);
}
String result = "";
try {
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
content.close();
result = builder.toString();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
czy jesteś pewien, że wyjątek jest generowany tylko w tym bloku kodu – jeet
Jaki jest wynik wywołania 'isStreaming' na twojej jednostce odpowiedzi? – Perception
Umieść kilka dzienników w różnych blokach i sprawdź, czy coś jest wywoływane dwa razy. Jeśli to nie pomoże, podaj kod, do którego dzwonisz, oraz logcat. – Shubhayu