Bluetooth на андроид вводит поток и отображает значения - PullRequest
0 голосов
/ 07 декабря 2011

Я пытаюсь разработать приложение, которое считывает входной поток байтов из 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 () возвращает целое число. Я хочу, чтобы это целое число отображалось.

Должен ли я реализовать поток, чтобы делать это постоянно в фоновом режиме? И как поток отправит значение на экран?

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 14 декабря 2011

Я понял, что проблема была в моем HTC Wildfire.Bluetooth-чат с сайта разработки Android не работал на нем, и поэтому я попытался найти способ обойти соединение с устройством Bluetooth.Наконец, когда мой коллега попробовал его Samsung Galaxy SII, он работал отлично.Мой HTC лесной пожар, поставь меня обратно на 2 недели !!!Спасибо, htc!

...