Java StringWriter toString的StringBuilder异常

时间:2013-03-26 22:09:23

标签: java android tostring stringbuilder stringwriter

好的..这完全是奇怪的。我正在尝试在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();
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

问题是您的HTTP线程正在尝试使用HTTPResponse或其他此类UI元素中的TextView更新UI线程,因此正在引发CalledFromWrongThreadException

使用Handler或其他此类机制重定向到用户界面更新的UI主题将解决您的问题。