这可能是 Sending POST data in Android 的重复项
我使用此代码使用 android 将发布数据发送到服务器
public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.mysite.com/android.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
但是当我运行这个应用程序时它显示了这个错误
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.senddata/com.example.senddata.MainActivity}: android.os.NetworkOnMainThreadException
有什么问题吗?谁能帮忙?
最佳答案
尝试在 setContentView() 下面的 mainactivityactivity 中使用以下代码来避免 networkOnmainThread 异常..
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
但是,在不阻塞主线程的情况下使用 AsyncTask 在后台线程中执行大量操作会很棒!
并引用此链接...
关于Android 将发布数据发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425942/