Arduino / Android遥控器

时间:2013-07-28 17:13:08

标签: java android arduino

我正在开发一款通过wifi网络与arduino车辆通信的Android应用程序。 我通过EditText字段发送命令,我使用w,q,s,d来启动,停止,向左转,然后向右转。解决方案工作得很好...... 但我想创建4个按钮,而不是将命令直接发送到arduino,我不知道在点击时我应该调用哪个方法。

 public void onClick(View view) {
                try {
                    EditText et = (EditText) findViewById(R.id.EditText01);
                    String str = et.getText().toString();
                    PrintWriter out = new PrintWriter(new BufferedWriter(
                            new OutputStreamWriter(socket.getOutputStream())),
                            true);                    
                   out.println(str);
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

1 个答案:

答案 0 :(得分:2)

您可以为所有4个按钮重复使用相同的方法。只需用他们的ID区分它们

public void onClick(View view) {
 String command = null;
 switch (view.getId()) {
      case R.id.button1:
        command = "w";
        break;
      case R.id.button2:
        command = "a";
        break;
      case R.id.button3:
        command = "d";
        break;
      case R.id.button4:
        command = "s";
        break;
  }

  try {
     PrintWriter out = new PrintWriter(new BufferedWriter(
                        new OutputStreamWriter(socket.getOutputStream())),
                        true);                    
     out.println(command);
  } catch (UnknownHostException e) {
     e.printStackTrace();
  } catch (IOException e) {
     e.printStackTrace();
  } catch (Exception e) {
     e.printStackTrace();
  }
}
XML中的

<Button
     android:id="@+id/button1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:onClick="onClick"
     android:text="w" 
/>

<Button
     android:id="@+id/button2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:onClick="onClick"
     android:text="d" 
/>

<Button
     android:id="@+id/button3"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:onClick="onClick"
     android:text="s" 
/>

<Button
     android:id="@+id/button4"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:onClick="onClick"
     android:text="a" 
/>