Я пытаюсь разработать приложение, которое считывает входной поток байтов из Bluetooth-модели. Затем я хочу отображать байты на экране каждый раз, когда отправляется новый. Вот что я сделал:
// Define the Start Button function
mStartButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
read();
updateDisplay();
}
});
Затем функция чтения: (примечание: я использовал inStream = btSocket.getInputStream () для получения потока. A - глобальная переменная int)
public void read() {
if (inStream != null) {
try {
a = inStream.read(); // Reads a single byte from this stream and returns it as an integer in the range from 0 to 255.
} catch (IOException e) {
}
}
}
Затем функция updateDisplay:
private void updateDisplay() {
mValueDisplay.setText(
new StringBuilder()
.append(a).toString()
);
}
Теперь я вызываю функцию чтения только каждый раз, когда хочу получить значение из потока. Я хочу, чтобы это происходило постоянно. Также обратите внимание, что inStream.read () возвращает целое число. Я хочу, чтобы это целое число отображалось.
Должен ли я реализовать поток, чтобы делать это постоянно в фоновом режиме? И как поток отправит значение на экран?
Спасибо за любую помощь.