2012-05-06 127 views
0

我正嘗試使用的代碼讓我的Android應用程序遠程xml內容:的Android sdk-獲取遠程XML內容

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) 

任何想法?

回答

0

做同樣的一個線程中:

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

當然AsyncTask的也是很長的路要走

0

the exception java doc它說你不能做從你的主線程HTML連接。您應該使用服務或類似工作來執行可能需要很長時間才能執行的工作,否則您將最終得到ANR。

0

異常說明了一切:您正試圖在UI(主)線程上進行網絡通信。正如你可能猜測的解決方案是在單獨的線程上運行下載。最簡單也可能是最好的方法是使用ASyncTask