Почему входной поток Bluetooth не показывает первую цифру фактического чтения? - PullRequest
0 голосов
/ 17 апреля 2019

Итак, я пытаюсь использовать приложение Android Studio для чтения данных датчика расстояния Arduino через Bluetooth и отображения их, но приложение не отображает первую цифру того, что я вижу в последовательном мониторе и других приложениях последовательного монитора, таких как unwired lite.(например, 13 см показывает как 3, 145 как 45) (соединение Bluetooth, кажется, работает нормально)

код, который я фактически взял отсюда: http://android -er.blogspot.com / 2015 /07 / android-example-to-communication-with.html

Вот код

        private final BluetoothSocket connectedBluetoothSocket;
    private final InputStream connectedInputStream;


    public ThreadConnected(BluetoothSocket socket) {
        connectedBluetoothSocket = socket;
        InputStream in = null;


        try {
            in = socket.getInputStream();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        connectedInputStream = in;

    }

    @Override
    public void run() {
        byte[] buffer = new byte[1024];
        int bytes;

        while (true) {
            try {
                bytes = connectedInputStream.read(buffer);
                String strReceived = new String(buffer, 0, bytes);
                final String msgReceived =
                         strReceived;

                runOnUiThread(new Runnable(){

                    @Override
                    public void run() {
                        textStatus.setText(msgReceived);
                    }});

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();

                final String msgConnectionLost = "Connection lost:\n"
                        + e.getMessage();
                runOnUiThread(new Runnable(){

                    @Override
                    public void run() {
                        textStatus.setText(msgConnectionLost);
                    }}

Я ожидаю, что на выходе получится 234 см, но получится 34 и т. Д.

...