您好,我正在尝试从 Android 应用程序注册用户。
我安装了 Xampp,我创建了我的数据库,我制作了一个 php 页面,该页面将被调用以将数据保存在数据库中。当我输入 url http://192.168.xx/ah_login_api/ 时访问我的 php 文件。异常类型:“android.os.NetworkOnMainThreadException”在 $ android.StrictMode AndroidBlockGuardPolicy.onNetwork
我不明白问题出在哪里!
您需要使用 AsyncTask执行所有网络操作。
如果在主 UI 线程上完成,您的网络操作可能会花费很多时间,并且 UI 会变得无响应。如果您的 UI 长时间卡住,应用程序可能会被操作系统杀死。
因此 Android 4+ 强制使用后台线程执行网络操作。
将执行网络 Activity 的代码放在 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("");
在任何地方调用它