为了消除我的疑虑,我通过了下面的帖子。但是,这仍然是不清楚的。
Why does the serial BT data I received get chopped out?
克里斯,这是你建议的一个很好的变通办法。在你提供的解决方案中,附加'\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();
}这种接待方式有什么问题?这将是很好的,如果你可以回答快一点,因为这是我的项目的结束部分,最后期限临近。谢谢!
发布于 2013-04-20 17:23:09
我自己解决了这个问题。我将我的分隔符从'\n‘改为'N’(因为我的数据中没有浮点值的一部分),并且我已经在接收器(我的应用程序)获得了令人满意的传输速率,数据完整性超过99% (在我以每秒600个样本的速率从MATLAB发送的2000个样本中,只有10个出现了乱码)。但是,谢谢你的点子@Chris Stratton!
https://stackoverflow.com/questions/16076041
复制相似问题