5个按钮用来控制小车的运转,下面的信息按钮用来向小车发送获取信息命令,小车将当前的状态反馈回来,并显示到“收到的数据”那个EditText中。 帮助按钮用来向小车发送帮助命令,小车返回其支持的命令列表,避免以后忘记了命令操作。下面的send按钮中也可以手动发送命令,而不是通过按钮发送,也就是说按钮发送的是定死的命令,下面的send可以发送任意的字符串。
关于连续发送命令的代码,使用的网上的一个代码,自己做了封装,此函数需要传递按钮的id,标题,以及要发送的消息
它就可以在用户按下按键不丢的时候,以每隔50ms的间隔发送message到小车端的蓝牙。
public void bindMu
tiplePressedButtonWithMessage(int buttonId, String title, final String message) {
Button frontButton = (Button) findViewById(buttonId);
frontButton.setText(title);
frontButton.setOnTouchListener(new OnTouchListener(){
boolean longClicked = true;
@Override
public boolean onTouch(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN) {
longClicked = true;
Thread t = new Thread(){
@Override
public void run(){
super.run();
while(longClicked)
{
// Send the name of the connected device back to the UI Activity
Message msg = mHandler.obtainMessage(BluetoothChat.MESSAGE_TOSEND);
msg.obj = message;
mHandler.sendMessage(msg);
try{
Thread.sleep(50);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
};
t.start();
} else if(event.getAction() == MotionEvent.ACTION_UP) {
longClicked = false;
}
return true;
}
});
}
具体源代码见附件