我见过的人写了自己的一个HttpResponse转换成字符串后使用的方法还真有些难看的代码,这看起来是这样的:如何从我的http响应android获取字符串?
httppost.setEntity(new UrlEncodedFormEntity(valuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF8"),8);
StringBuilder sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
String result = sb.toString();
不仅是有点乱,但这真的很难看,我经常不知道代码是怎么回事,因为这个混乱在它之前。有没有更好的方法来做到这一点?
这有一个问题。如果回复被压缩,这将不起作用。你必须调用'InputStream stream = AndroidHttpClient.getUngzippedContent(response.getEntity());'然后将InputStream转换为字符串。我还没找到更好的方法。 – 2014-07-26 16:30:04
可能2013年的作品,但在2016年不是!这是我的错误 - >方法抛出'java.lang.IllegalStateException'异常。 – delive 2016-02-22 11:20:55