Java 如何让onTouch在行动上无所作为

Java 如何让onTouch在行动上无所作为,java,android,Java,Android,我正在用我的智能手机和arduino制作一个控制玩具车的应用程序,我设法连接到蓝牙和模块,并用LED灯进行测试,一切正常。我只有一个问题,我想让汽车从触控式前进,就像这个代码一样(但这个是LED灯) 现在我的问题是,当我把手从触摸屏上移开时,我想要一种方法或技术让应用程序什么都不做,因为现在我正在为每个动作制定一个单独的方法,这让我每次指定一个不同的字母发送给arduino,以便对玩具车进行更改,这样我就有了大量不方便的信件 public void LEDOn(){ // turn LE

我正在用我的智能手机和arduino制作一个控制玩具车的应用程序,我设法连接到蓝牙和模块,并用LED灯进行测试,一切正常。我只有一个问题,我想让汽车从触控式前进,就像这个代码一样(但这个是LED灯)

现在我的问题是,当我把手从触摸屏上移开时,我想要一种方法或技术让应用程序什么都不做,因为现在我正在为每个动作制定一个单独的方法,这让我每次指定一个不同的字母发送给arduino,以便对玩具车进行更改,这样我就有了大量不方便的信件

public void LEDOn(){
    // turn LED On
    if (btSocket!=null)
    {
        try
        {
            btSocket.getOutputStream().write("F".toString().getBytes());
        }
        catch (IOException e)
        {
            msg("Error");
        }
    }
}

另外,如果有人能准确地解释多点触控是如何工作的,我将不胜感激。

对于任何面临制造Rc控制器同样问题的人来说,这是我解决问题的方法

我用这段代码在我做动作的时候发送z字符,例如,我按下前进按钮,然后释放,当我释放时,我将发送z字符

if(btSocket!=null){
        try
        {
            btSocket.getOutputStream().write("z".toString().getBytes());
        }
        catch (IOException e)
        {
            msg("Error");
        }
    } 
这是我的后向onTouch的方法

downView.setOnTouchListener(new View.OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN){
                downOn();
                return true;
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                directionsOff();
                return true;
            }
            return false;
        }
    });
这是发送字符D的方法

public void downOn(){
    // starts moving backwards
    if(btSocket!=null){
        try
        {
            btSocket.getOutputStream().write("D".toString().getBytes());
        }
        catch (IOException e)
        {
            msg("Error");
        }
    }
}
这是我使用的arduino代码,我在LED上测试

if (state == 'D') {
  digitalWrite(LED, HIGH);
}else if (state == 'F') {
  digitalWrite(LED2, HIGH);
}else{
  digitalWrite(LED, LOW);
  digitalWrite(LED2, LOW);
}

我希望我说得够清楚。

这些字母是干什么用的?我通过蓝牙将这些字母发送给arduino,以便在我单击任何按钮时在arduino上执行命令。例如:如果我点击前进按钮,我发送“F”,arduino代码接收到它,启动电机,汽车向前行驶。我想做的是,当我把手从触摸屏上移开时,我想用一种方法停止发送信号“F”,而不是让我的应用程序发送另一个类似“F”的字母来阻止汽车前进。
if (state == 'D') {
  digitalWrite(LED, HIGH);
}else if (state == 'F') {
  digitalWrite(LED2, HIGH);
}else{
  digitalWrite(LED, LOW);
  digitalWrite(LED2, LOW);
}