如何从蓝牙读取多个传感器数据时解决“ IndexOutOfBoundException”错误?

时间:2019-05-21 14:54:12

标签: android split handler android-bluetooth bluetoothadapter

我正在尝试从Arduino蓝牙模块HC-05接收数据,该模块是一个字符串,其中包含用“ |”分隔的传感器读数定界符。

我已经收到整个字符串,并将其显示在textview中。但是当我尝试拆分它并在不同的文本视图中显示数据时,在蓝牙模块和我的应用之间建立连接之后,IndexOutOfBoundException index = 1 length = 1的错误使我的应用崩溃了

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在textview中设置文本。

0 个答案:

没有答案