こんにちは、Android アプリケーションからユーザーを登録しようとしています。Xampp をインストールし、データベースを作成し、データをデータベースに保存するために呼び出される php ページを作成しまし た。例外の種類: $ android.StrictMode AndroidBlockGuardPolicy.onNetwork の「android.os.NetworkOnMainThreadException」
どこに問題があるのかわからない!
すべてのネットワーク操作を行うには、 AsyncTaskを使用する必要があります。
メイン UI スレッドでネットワーク操作を行うと、ネットワーク操作に時間がかかり、UI が応答しなくなる可能性があります。また、UI が長時間フリーズすると、アプリが OS によって強制終了される可能性があります。
したがって、Android 4 以降では、バックグラウンド スレッドを使用してネットワーク操作を実行することが必須になります。
内部にネットワーク アクティビティを実行するコードを配置しdoInBackground()
、すべての AsyncTask を使用しexecute()
ます。
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("");