2012-09-26 28 views
0

可能重複:
android.os.NetworkOnMainThreadException如何創建一個AsyncTask以消除NetworkOnMainThreadException?

我的Android應用程式適用於模擬器但在手機它顯示android.os.NetworkOnMainThreadException。從搜索我知道它可以使用AsyncTask清除。任何機構可以幫助我創建一個AsyncTask,它會在按鈕單擊時調用httppost並返回onCreate的響應?

+0

它發生在Android 3.0及以上。 http://stackoverflow.com/questions/6343166/android-os-networkonmainthreadexception – Dante

+2

http://stackoverflow.com/q/6343166/940096 – Praveenkumar

+0

感謝all..It的工作。 – user1684892

回答

0

我做到了,這裏是代碼

private class DownloadWebPageTask extends AsyncTask<String, Void, String> { 
@Override 
protected String doInBackground(String... urls) { 
    String response = ""; 
    for (String url : urls) { 
    DefaultHttpClient client = new DefaultHttpClient(); 
    HttpGet httpGet = new HttpGet(url); 
    try { 
     HttpResponse execute = client.execute(httpGet); 
     InputStream content = execute.getEntity().getContent(); 

     BufferedReader buffer = new BufferedReader(new InputStreamReader(content)); 
     String s = ""; 
     while ((s = buffer.readLine()) != null) { 
     response += s; 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
    return response; 
} 

@Override 
protected void onPostExecute(String result) { 
    textView.setText(result); 
} 

}

相關問題