0

私のアプリケーションには、インターネット経由で認証されるアカウントアクティベーションフォームがあります。その間(アクティベートボタンがクリックされた後)、アクティベーションが進行中であることをユーザーに知らせるために、ある種のUIをユーザーに表示したいと思います。コードを教えてください。また、アプリがアクティブ化された後に成功するファイルを作成するにはどうすればよいですか。ありがとう

4

3 に答える 3

2

このように非同期タスクを使用できます

OnCreate の前に進行状況ダイアログを宣言する

ProgressDialog ダイアログ;

AsyncTask のように拡張されたクラスを追加します

private class LongOperation extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {

            // perform the action which you want to do

            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
         */
        @Override
        protected void onPostExecute(String result)
 {
            // execution of result of Long time consuming operation

  // perform task which you want to display once background task is finished 

            dialog.dismiss();


        }

        /*
         * (non-Javadoc)
         * 
         * @see android.os.AsyncTask#onPreExecute()
         */
        @Override
        protected void onPreExecute() {

// initialize dialog 

            dialog = new ProgressDialog(Comment.this);

// set message 
            dialog.setMessage("Please wait while processing");
            dialog.setIndeterminate(true);
            dialog.setCancelable(false);
            dialog.show();

        }

        /*
         * (non-Javadoc)
         * 
         * @see android.os.AsyncTask#onProgressUpdate(Progress[])
         */
        @Override
        protected void onProgressUpdate(Void... values)

        {

        }

    }

このリンクも参照できます。

http://www.vogella.com/articles/AndroidPerformance/article.html#asynctask

于 2012-07-27T06:30:16.107 に答える
1

をご覧ください: http://developer.android.com/reference/android/os/AsyncTask.html スレッドがバックグラウンドで実行されている間に、独自の読み込みレイアウトを提供できます。とても使いやすいです。

于 2012-07-27T06:08:37.433 に答える
0

これを完了するために使用AsyncTaskしているので、ドキュメントを読んでいると思います。そうでない場合は、例を提供できます。

public void doInBackground(Void... arg0) {

  int i;

  for(i = 0; i < 10; i++) {
   publishProgress(i);
  }
}

メソッドからメソッドdoInBackgroundへの進行状況を公開するonProgressUpdate

   public void onProgressUpdate(int arg0) {
       Log.d(arg0);
    }
于 2012-07-27T07:21:22.843 に答える