一开始的时候蓝牙应用只接受单片机串口发来的一个温度数据,所以也没啥问题,存在的一个现象第一个数据丢失的问题被我在单片机程序中加一个空格键解决了。后来应用需要同时接受好几个个传感器数据,问题就来了。以下是本人在调试中的各种方案以及出现的现象,水平较低,不喜勿喷。
第一个解决方案:
if(i==0)
{
String readMessage1 = new String(readBuf, 0, msg.arg1);
mInputEditText1.setText(readMessage1);
i=1;
}
else if(i==1)
{
String readMessage2 = new String(readBuf, 0, msg.arg1);
mInputEditText2.setText(readMessage2);
i=2;
}
else if(i==2)
{
String readMessage3 = new String(readBuf, 0, msg.arg1);
mInputEditText3.setText(readMessage3);
i=0;
}
出现现象是数据可以接受但是不同同时显示三个数据,而且总是在跳变,给人以眼花缭乱的感觉,用户体验特比差,而且后期的语音也没法在此基础上做,故果断舍弃。
第二种解决方案:
在lanya.java中进行判断