androidでマルチスレッド(バックグランド処理) その2では、前回の2番のAsyncTaskクラスを使った方法を説明します。
  スレッドの代わりにAsyncTaskクラスのサブクラスを作成し、onPreExecute()、doInBackground()、onPostExecute()をオーバーライドして、処理を記述します。
  �onPreExecute : 前処理
�doInBackground : バックグラウンドで動かす処理
�onPostExecute : 終了時の処理
  AsyncTaskのサブクラス化する際にAsyncTask‹Param,   Progress,   Result›という形で、doInBackground()の引数、進捗具合を表すパラメータ、doInBackground()の戻り値(=onPostExecuteの引数)をテンプレート引数に渡すようになっています。
  完全なコードです。
                      | 1 | packagecom.team_hiroq.sample; | 
                     | 3 | importandroid.app.Activity; | 
                   | 4 | importandroid.os.AsyncTask; | 
                   | 5 | importandroid.os.Bundle; | 
                   | 6 | importandroid.view.View; | 
                   | 7 | importandroid.view.View.OnClickListener; | 
                   | 8 | importandroid.widget.TextView; | 
                     | 10 | publicclassThreadSample2 extendsActivity implementsOnClickListener{ | 
                         | 14 |     publicvoidonCreate(Bundle savedInstanceState)   { | 
                   | 15 |         super.onCreate(savedInstanceState); | 
                   | 16 |         setContentView(R.layout.theadsample1); | 
                       | 19 |         mTextView =       (TextView)findViewById(R.id.ThreadSample1); | 
                     | 21 |         findViewById(R.id.ThreadSample1).setOnClickListener(this); | 
                         | 25 |     publicvoidonClick(View arg0) { | 
                     | 27 |         newAsyncAppTask().execute(); | 
                       | 30 |     classAsyncAppTask extendsAsyncTask<Void, Void,   String>{ | 
                     | 32 |         protectedvoidonPreExecute() { | 
                           | 37 |         protectedString doInBackground(Void... arg0)   { | 
                     | 39 |             return"Thread Samples"; | 
                       | 42 |         protectedvoidonPostExecute(String result)   { | 
                         | 46 |             mTextView.setText(result); | 
           以上です。
 
0 件のコメント:
コメントを投稿