Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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
Android 如何将蓝牙的两个输入值分开并在不同的文本视图中显示_Android_Bluetooth_Textview_Arduino - Fatal编程技术网

Android 如何将蓝牙的两个输入值分开并在不同的文本视图中显示

Android 如何将蓝牙的两个输入值分开并在不同的文本视图中显示,android,bluetooth,textview,arduino,Android,Bluetooth,Textview,Arduino,你能建议我如何将通过蓝牙从Arduino获得的两个值进行分割吗。我正在测量两个传感器,其中一个我加了数字10000,所以现在我得到了终端中的值,比如540 10025,540 10024,。。。。。 我在一个传感器上增加了10000个,这样更容易将它们分开。 现在我想在不同的文本视图中显示这两个数字,并从一个中删除10000个 这就是我在TextView上获取号码的方式 public class ArduinoReceiver extends BroadcastReceiver {

你能建议我如何将通过蓝牙从Arduino获得的两个值进行分割吗。我正在测量两个传感器,其中一个我加了数字10000,所以现在我得到了终端中的值,比如540 10025,540 10024,。。。。。 我在一个传感器上增加了10000个,这样更容易将它们分开。 现在我想在不同的文本视图中显示这两个数字,并从一个中删除10000个

这就是我在TextView上获取号码的方式

public class ArduinoReceiver extends BroadcastReceiver {    
    @Override
    public void onReceive(Context context, Intent intent) {
        String data = null;     
        final int dataType = intent.getIntExtra(AmarinoIntent.EXTRA_DATA_TYPE, -1);

        if (dataType == AmarinoIntent.STRING_EXTRA){
            data = intent.getStringExtra(AmarinoIntent.EXTRA_DATA);         
            if (data != null){
            mValueTV.setText(data + "°");
                alarm();
            }
....

如果我理解正确,您通过同一广播接收器接收两种不同类型的整数-一种低于10000,另一种高于10000。您希望在两个不同的文本视图中显示它们。代码应该如下所示

data = intent.getStringExtra(AmarinoIntent.EXTRA_DATA);
if (data != null)
{
    int value = Integer.parseInt(data);
    if (value >= 10000)
    {
        // put in one text view after substracting 10,000
        firstTextView.setText(Interger.toString(value - 10000) + "°");
    }
    else
    {
        // put in the second TextView
        secondTextView.setText(data + "°");
    }
}

它显示secondTextView,但当涉及到firstTextView时,它会崩溃。我收到消息:在LogCat中接收广播时出错。如果我试图在一台电视上播放它,它会起作用。你能分享你的logcat消息吗?08-20 11:48:33.600:E/AndroidRuntime(8760):java.lang.RuntimeException:接收广播意图时出错{act=amarino.Intent.action.RECEIVED flg=0x10(有附加项)}在com.example.prototipmbv.main活动中$ArduinoReceiver@42f665e8The问题是我得到了浮点数,然后函数parseInt崩溃了。太好了!将ParseInt()与try-catch块一起使用可以避免这种情况。