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 に答える