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