2

こんにちは、Android アプリケーションからユーザーを登録しようとしています。Xampp をインストールし、データベースを作成し、データをデータベースに保存するために呼び出される php ページを作成しまし た例外の種類: $ android.StrictMode AndroidBlockGuardPolicy.onNetwork の「android.os.NetworkOnMainThreadException」

どこに問題があるのか​​わからない!

4

2 に答える 2

1

すべてのネットワーク操作を行うには、 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("");

于 2013-05-08T18:38:54.970 に答える