好的..这完全是奇怪的。我正在尝试在android中发出http请求。它工作正常,我可以使用StringWriter“构建”一个字符串,但代码会在writer.toString()中抛出异常。如果我使用StringBuilder或StringWriter,它没有任何区别。
try {
HttpResponse response = httpClient.execute(httpPost);
InputStream is = response.getEntity().getContent();
StringBuilder writer = new StringBuilder();
//StringWriter writer = new StringWriter();
int ch;
while(( ch = is.read()) != -1) {
writer.append((char)ch);
}
String theString = writer.toString();
return theString;
}
catch (Exception e) {
return e.getMessage();
}
有什么想法吗?
答案 0 :(得分:1)
问题是您的HTTP线程正在尝试使用HTTPResponse
或其他此类UI元素中的TextView
更新UI线程,因此正在引发CalledFromWrongThreadException
。
使用Handler
或其他此类机制重定向到用户界面更新的UI主题将解决您的问题。