私はBluetooth rfcomm接続で作業しています。 Androidサンプルには、私が理解できないラインがあります。残念ながら、他の質問やリソースではうまく答えられませんでした。私は、この行を理解することはできませんAndroidのBluetoothサンプルでmHandler.obtainMessage()を理解できません
public void run() {
byte[] buffer = new byte[1024]; // buffer store for the stream
int bytes; // bytes returned from read()
// Keep listening to the InputStream until an exception occurs
while (true) {
try {
// Read from the InputStream
bytes = mmInStream.read(buffer);
// Send the obtained bytes to the UI activity
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
.sendToTarget();
} catch (IOException e) {
break;
}
}
}
/* Call this from the main activity to send data to the remote device */
public void write(byte[] bytes) {
try {
mmOutStream.write(bytes);
} catch (IOException e) { }
}
:ここ
が全体のコードである
// Read from the InputStream
bytes = mmInStream.read(buffer);
// Send the obtained bytes to the UI activity
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
.sendToTarget();
mHandler
は私がすることはできません。このコードで定義され、またMESSAGE_READ
されていませんbytes
は何を理解していますか?
私は主なアクティビティとして設定したアクティビティに受信したバイトを送信すると思います。受信したメッセージを表示するためにsendToTarget()の代わりにStatic TextView
をメインアクティビティに作成できますか?
mHandlerはおそらくあなたのクラスのどこかで宣言されたインスタンス変数。 MESSAGE_READは、おそらくクラス内または静的なインポートを介して定義された定数です。 – assylias