Как исправить ошибку "IndexOutOfBoundException" при чтении нескольких данных датчика с Bluetooth?

Я пытаюсь получить данные от модуля Arduino Bluetooth HC-05, который представляет собой строку, содержащую показания датчика, разделенные знаком "|" разделитель.

Я получил всю строку и отобразил ее в виде текста. Но когда я пытаюсь разделить его и отобразить данные в разных текстовых представлениях, ошибка IndexOutOfBoundException index=1 length=1 приводит к сбою моего приложения после установления соединения между модулем Bluetooth и моим приложением

case STATE_MESSAGE_RECEIVED:
                    // set text of message text view
                    byte[] readBuff = (byte[]) msg.obj;
                    String Msg = new String(readBuff,0,msg.arg1);
                    String tempMsg=Msg;
                    String[] values = tempMsg.split("\\|");
                    data1.setText(values[0]);
                    data2.setText(values[1]);
                    data3.setText(values[2]);
                    data4.setText(values[3]);
                    data5.setText(values[4]);
                    data6.setText(values[5]);
                    data7.setText(values[6]);
                    data8.setText(values[7]);
                    data9.setText(values[8]);
                    break;

Это фрагмент кода от hanler, который я использовал для установки текста в текстовых представлениях из Connectedthread из bluetooth.

0 ответов

Другие вопросы по тегам