zxdynamite 2017-11-17 03:39 采纳率: 28.6%
浏览 3964

关于Android通过蓝牙接收的数据发生丢失的问题

背景:我现在在做手机端与单片机通过蓝牙进行数据传递。
问题:在我通过蓝牙接收单片机通过串口发来的数据的时候,出现了:
1:大量为0的无用数据;
2:缺失部分数据;
接收代码如下。

        while(true){
                        try {
                            num = inputStream.read(buffer_z);
                            n=0;
                            for(i=0;i<num;i++){
                                buffer_z_new[n] = buffer_z[i];
                                n++;
                            }

                            String s =bytesToHexString(buffer_z_new);
                            smsg+=s.trim();

                            if(inputStream.available()==0)break;
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }

                    StringBuffer stringBuffer = new StringBuffer();
                    String a = smsg.replace("FB0000",",");
                    String[] b = a.split(",");
                    String c = b[1].replace("1000",",");
                    String[] d = c.split(",");
                    stringBuffer.append(d[1]);
                    String ends = stringBuffer.toString();

                    Message msg = new Message();
                    Bundle data = new Bundle();
                    data.putByteArray("bytes",ends.getBytes());
                    msg.what = MainActivity.ACCEPT_MESSAGE;
                    msg.setData(data);
                    handler.sendMessage(msg);

我该如何解决呢?

  • 写回答

3条回答

  • zxdynamite 2017-11-17 04:01
    关注

    我在字符串截取操作中将在数据一开始出现的大量为0的无用数据截取掉了,现在的遗留的问题是:数据的缺失。
    一开始我发送handler的是obtainMessage,后来发现这个方法虽然效率快但是或会发现数据缺失问题,但是我改用sendMessage之后,数据缺失问题
    依然没有改变。
    我该怎么去处理呢?

    评论

报告相同问题?

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的