0

我正在尝试xml使用以下代码在我的 Android 应用程序上获取远程内容:

URL aUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection)aUrl.openConnection();
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setReadTimeout(15 * 1000);  // timeout for reading the google maps data: 15 secs
conn.connect();...

当我尝试时,connect()我得到了异常:

NetworkOnMainThreadException  (id=830019595736) 

任何的想法?

4

3 回答 3

0

在线程内执行相同操作:

new Thread(new Runnable() {
                 public void run() { 
                         // the same
                  }).start();

当然AsyncTask也是一种方式

于 2012-05-06T20:33:50.767 回答
0

异常 java doc中它说你不能从你的主线程进行 HTML 连接。对于可能需要很长时间才能执行的工作,您应该使用服务或类似服务,否则您最终会遇到 ANR。

于 2012-05-06T20:34:37.640 回答
0

例外说明了一切:您正在尝试在 UI(主)线程上进行网络通信。正如您可能猜到的那样,解决方案是在单独的线程上运行下载。最简单也可能是最好的方法是使用ASyncTask

于 2012-05-06T20:35:07.640 回答