2012-04-13 7 views
1

純粋なJavaのみを使って簡単なAndroid Handlerクラスを作成して、あるスレッドから別のスレッドに信号を送信する方法は興味深いのですか?簡単なカスタムAndroidハンドラクラスを作成するにはどうすればよいですか?

私はソースコードを見た: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/os/Handler.java

をしかし、どのように例えば別のスレッドからの例のint型の値を送信することができますクラス(Handlerクラス)を記述する(Androidのハンドラのように(共有データを使用していませんか? ))?

+0

誰もそれをやろうとしませんでしたか、多分質問がダミーですか? – ASD

答えて

5

あなたは、このように行うことができますメッセージを受信するハンドラと同じ方法でスレッドがある場合:

final Handler handler = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
      // do something 
    } 
} 

final Thread th = new Thread() { 
    public void run() { 
      // do something than send an integer - x in our case 
      int x = 0;   
      final Message msg = Message.obtain(handler, x, null); 
      handler.dispatchMessage(msg); 
     } 
    }; 
th.start(); 

をスレッドを拡張するクラスを作成するよりも、あなたのハンドラは、スレッドから直接アクセスすることができない場合ハンドラをクラスのコンストラクタに渡します。

+1

私はAndroid Handlerが何であるか、そしてその目的が何であるかを知っています。単純なカスタムハンドラを書く方法を知りたいのですが、それを理解するための非常に基本的な機能を持っています – ASD

+0

申し訳ありません。 OS特有の何かを使わなければ、私はそれが可能ではないと思う。誰かがこれを行うことができたなら、私はまたどのように興味があるでしょう。 – azertiti

+0

お返事ありがとうございます。 – ASD

関連する問題