蓝牙一次读取一个输入字符

时间:2018-06-04 23:02:29

标签: java android android-studio bluetooth android-bluetooth

我对蓝牙通信有一个小问题,我一直在YouTube上阅读有关如何创建与我的arduino通信的应用程序的教程。一切都很顺利;但是我唯一的问题是,当我在手机中测试来自arduino的传入数据时,字符串数据似乎是使用Stringbuilder随机测试的,因此测试有时可能会或可能不会起作用。收到的数据如下“B1234”。 Lettet B表示接收了哪些数据,以下数字是数据本身,点表示流的结束。我是android的新手,所以如果我的问题不是那么清楚,我很抱歉 这是BluetoothConnectionService的onReceive java代码:

byte [] buffer = new byte [1024];
int bytes;
//Keep listening to the InputStream until an exception occurs
while(true) {
    try { 
        bytes mainstream.read(buffer);
        String incomingMessage = new String (buffer, 0, bytes);
        Intent incomingMessageIntent = new Intent ("incomingMessage");
        incomingMessageIntent.putExtra ("theMessage", incomingMessage);
        LocalBroadcastManager.getInstance (mContext).sendBroadcast(incomingMessageIntent);
    }
    catch (Exception e) {
        break;
    }
}

这是MainActivity中收到的java代码:

publix final BroadcastReceiver mBroadcastReceiver5 = new BroadcastReceiver () {
    public void onReceive(Context context, Intent intent) {
        final String text = intent.getStringExtra ("theMessage");
        messages.append(text); //Append StringBuilder
        FragmentData.RXData.setText (messages);
        messages.setLength(0); 
    }
}

0 个答案:

没有答案