2012-09-26 25 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); 
} 

}

相关问题