私はArduinoからAndroidデバイスにスローされたデータを読み込むコードを作成しました。それはこのように書きます:アンドロイドでRunnable内の条件を作成する
public void run() {
byte[] buffer = new byte[1024];
int bytes;
final StringBuilder readMessage = new StringBuilder();
while (true) {
try {
bytes = connectedInputStream.read(buffer);
final String string_now = new String(buffer, 0, bytes);
readMessage.append(string_now);
// final int finalBytes = bytes;
runOnUiThread(new Runnable() {
@Override
public void run() {
tvBPM.setText(string_now);
readMessage.setLength(0);
}
});
} catch (IOException e) {
Toast.makeText(getApplicationContext(),"Connection Lost!",Toast.LENGTH_LONG).show();
}
}
}
このコードは、私の "ThreadConnectedがスレッドを拡張するプライベートクラスの内部に位置している
今string_nowによって保持された値が数値です。私はそこに格納されている値が150より大きいか50より小さいかどうかをユーザーに伝えたいと思います。私が試したコードですが、完全には機能しません。
runOnUiThread(new Runnable() {
@Override
public void run() {
final int getValue = Integer.getValue(Integer.parseInt(string_now));
if (getValue > 150 || getValue < 50) {
Toast.makeText(getApplicationContext, "Unstable", Toast.LENGTH_SHORT).show(); }
else {
tvBPM.setText(string_now);
readMessage.setLength(0); }
}
});
どのように私はこの仕事をすることができますか?ありがとうございました。
を本当に有用な情報はない「完全には動作しません」。あなたは、あなたが期待しているものと実際に何が起こっているのかについてより多くの情報を提供できます –
このコードは、作成したプロトタイプからのtvBPMの心拍数の値を表示します。これで、tvBPMに表示されている値が条件を満たすかどうかをチェックします(if else文)。現在のところ、私はStartボタンを押した後にアプリケーションを閉じるだけで、runOnUiThread()コードを含むスレッドを指示します。私の悪い英語のために申し訳ありません – KCX