Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android蓝牙接收到的串行数据被篡改_Java_Android_Matlab_Bluetooth - Fatal编程技术网

Java Android蓝牙接收到的串行数据被篡改

Java Android蓝牙接收到的串行数据被篡改,java,android,matlab,bluetooth,Java,Android,Matlab,Bluetooth,对于我的疑问,我已经通过了以下线索。但是,目前还不清楚 克里斯,你建议的解决办法不错。在您提供的解决方案中,添加“\n”的解决方案非常适合我,因为我只是将浮点值从PC(MATLAB)转换为字符串后传输到Android手机。我正在使用以下代码通过搜索“\n”对数据进行分组,但接收到的数据有时还是会被弄乱。请告诉我我要换什么 aReader = new InputStreamReader( mmInStream ); mBufferedReader = new BufferedReader( aR

对于我的疑问,我已经通过了以下线索。但是,目前还不清楚

克里斯,你建议的解决办法不错。在您提供的解决方案中,添加“\n”的解决方案非常适合我,因为我只是将浮点值从PC(MATLAB)转换为字符串后传输到Android手机。我正在使用以下代码通过搜索“\n”对数据进行分组,但接收到的数据有时还是会被弄乱。请告诉我我要换什么

aReader = new InputStreamReader( mmInStream );
mBufferedReader = new BufferedReader( aReader );
aString = mBufferedReader.readLine();
mHandler.obtainMessage(BluetoothActivity.MESSAGE_READ, aString).sendToTarget();
这是我在处理程序中用于显示数据的内容:

String readMessage = (String) msg.obj;
        try{
            float readM = Float.parseFloat(readMessage);
            text.append("\n" + readM);
        }catch (NumberFormatException e) {
            text.append("\n Number Format Exception!!");
            e.printStackTrace();
        }

这种接待有什么问题?这将是很好的,如果你能回答有点快,因为这是我的项目的最后一部分,最后期限快到了。谢谢

我自己解决了这个问题。我将分隔符从“\n”更改为“n”(因为我的数据中没有任何字符是浮点值),并且在接收器(我的应用程序)上实现了令人满意的传输速率,数据完整性超过99%(在我以每秒600个样本的速率从MATLAB发送的2000个样本中,只有10个样本被篡改)。但是,谢谢你的主意@Chris Stratton