将Android应用程序连接到Xampp服务器

时间:2013-05-08 18:36:56

标签: android


您好,我正在尝试从Android应用程序注册用户。 我安装了Xampp,我创建了我的数据库,我创建了一个php页面,将被调用以保存数据库中的数据。当我把url http://192.168.xx/ah_login_api/访问我的php文件.An异常类型:“android .os.NetworkOnMainThreadException“at $ android.StrictMode AndroidBlockGuardPolicy.onNetwork

我不明白问题出在哪里!

2 个答案:

答案 0 :(得分:1)

您需要使用AsyncTask来执行所有网络操作。

您的网络操作可能会花费大量时间,如果在主UI线程上完成,UI将无法响应。如果您的用户界面长时间冻结,应用程序可能会被操作系统杀死。

因此,Android 4+强制要求使用后台线程来执行网络操作。

使用 doInBackground() 将代码放在 execute() 和所有AsyncTask中进行网络活动。

以下是您的AsyncTask的样子:

private class MyAsyncTask extends AsyncTask<String, Integer, Void> {
     protected void doInBackground() {
        sendEmail();
 }

 protected void onProgressUpdate() {
    //called when the background task makes any progress
 }

  protected void onPreExecute() {
     //called before doInBackground() is started
 }
 protected void onPostExecute() {
     //called after doInBackground() has finished 
 }
  }

您可以使用 new MyAsyncTask().execute("");

在任何地方拨打电话

答案 1 :(得分:0)

你需要使用AsyncTask进行newtwork操作,因为在主线程上运行长操作会对你的ui造成滞后,甚至使它无响应。

虽然最好使用AsyncTask,但您也可以使用另一个线程

喜欢:

Thread xamp = new Thread(){

public void run(){
//Your network operation here
}

};
xamp.start();

参考:http://developer.android.com/reference/android/os/AsyncTask.html