我遇到了 openStream() 的问题,因为它在 Android 2.3.4 下工作,但在 3.0 和 4.0.4 下失败。该应用程序位于一个简单的 RSS 阅读器中,在此处执行 openStream() 时出现空异常:
protected InputStream getInputStream() {
try {
InputStream myConnection;
myConnection = feedUrl.openStream();
return myConnection;
} catch (IOException e) {
throw new RuntimeException (e);
}
}
URL 是:http ://europennews.dk/en/headlines/feed/ 该地址 有一个有效的 RSS 提要。
控制在 catch 处立即返回到调用代码,而不是进入第一个 catch。调用代码是:
try {
InputStream in = this.getInputStream();
Xml.parse(in, Xml.Encoding.UTF_8, root.getContentHandler());
} catch (Exception e) {
throw new RuntimeException(e);
}
这是我观察到返回的异常为空的地方。
我在某处看到它失败了,因为我在 UI 线程中进行网络活动,并且我真的应该将它分拆到另一个线程中(由于滞后,我打算这样做)。这是一个合理的建议吗?