我正在尝试使用Android应用程序中的URL.getContent下载页面/文件。它运行良好,例如:
try{
URL url = new URL("http://www.google.co.uk/images/nav_logo38.png");
Object content = url.getContent();
} catch (MalformedURLException e) {
System.out.print(e.getMessage());
} catch (IOException e) {
System.out.print(e.getMessage());
}
}
..但是如果我想在一个线程中运行它,例如:
Thread t = new Thread(){
public void run() {
try{
URL url = new URL("http://www.google.co.uk/images/nav_logo38.png");
Object content = url.getContent();
} catch (MalformedURLException e) {
System.out.print(e.getMessage());
} catch (IOException e) {
System.out.print(e.getMessage());
}
}
};
t.start();
..线程崩溃,我收到ANR错误。能够手动控制线程要好得多,因为我只想在收集到正确的URL(来自JSON数据)之后执行此函数。我确信有一个非常明显的原因,我错过了,但这真的让我烦恼。
谢谢,Sam