2016-05-03 14 views
0

私は2つのクラスを持っていますが、1つはメインクラスで、他はBluetoothクラスです。Androidの新しいスレッドでイベントハンドラとクラスを開始しています

Bluetoothクラスには、BLEデバイスをスキャンする方法があります.BLEデバイスの1つがデータを送信すると、Bluetoothデバイスとイベントハンドラにデータを送信します。

メインクラスでは、私の周りのBLEデバイスの数を決定すると、それらをループして情報を取得しようとします。だから、基本的には、私はBLEデバイスとの通信が終了するまで待つ必要があります。私はメインスレッドでこれを実行しているので、アプリケーションは応答しなくなります。

別のスレッドでBluetoothクラスを開始したいとします。私はどのように進めますか?

RunnableメソッドでBluetoothクラスを作成すると、blbuetoothクラスのイベントハンドラが新しいスレッドで動作するようになりますか?

+0

私はAndroidは知らないのですが、通常、その名前に "handler"という名前のオブジェクトは、あなたがフレームワークで_登録するものです。あなたはフレームワークにこう言います。「私のXオブジェクトは、次回/毎回イベントZが発生するたびにYメソッドを呼び出してください。そして、どのような現代のフレームワークでも、あなたのメソッドを呼び出すと、それはフレームワークが独自の目的のために作成したスレッドの中で起こります。 –

答えて

0

ありがとうはHandlerThreadThreadLooperおよびオプションについてThreadPoolExecutorのマニュアルを参照してください。 Runnableだけを作成しても、新しいスレッドは開始されません。

関連する問題