2010年11月11日木曜日

スレッド

AndroidでもiPhone同様、スレッドを使用することができます。
Androidの場合、一部のコントロールを除いて、別スレッドからメインスレッドのUIにはアクセスできないようです。(例外が発生します。)
その為、ハンドラに処理を渡してメインスレッドの方で実際の処理を行わせます。
ハンドラを使うので、android.os.Handlerをインポートしておく必要があります。

    Handler mHandler = new Handler();
    ・
    ・
        Thread th = new Thread() {
            public void run() {
                // 別スレッドの処理
                ・
                ・
                ・
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        // メインスレッドのTextViewにスレッド処理終了を表示
                        mTextView1.setText("Finished");
                    }
                });
            }
        };
        th.start(); // 別スレッドの処理開始

0 件のコメント:

コメントを投稿