2013-07-28 3 views
2

저는 wifi 네트워크를 통해 arduino 차량과 통신하는 Android 앱을 개발 중입니다. EditText 필드를 통해 명령을 전송합니다. 여기서 w, q, s, d를 사용하여 시작, 중지, 좌회전, 우회전을 수행합니다. 솔루션은 매우 잘 작동하고 있습니다 ... 하지만 대신 arduino에 직접 명령을 보내는 4 개의 단추를 만들고 싶습니다. 어떤 메서드를 클릭해야하는지 잘 모릅니다.Arduino/Android 원격 제어

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(); 
       } 
      } 
+0

당신이 레이아웃 파일에 버튼을 추가 했 : 그냥 자신의 ID가 XML에

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(); } } 

에 의해 구별? –

+0

예 버튼을 추가했습니다. – Mindan

답변

2

모든 4 개의 버튼에 동일한 방법을 재사용 할 수 있습니다.

<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" 
/> 
+0

답장을 보내 주셔서 감사합니다 ...하지만이 방법은 작동하지 않았습니다. – Mindan

+0

@Nada 어떤 방식으로 작동하지 않았습니까? 귀하의 버튼 ID는 무엇입니까? –

+0

그것은 내가 가지고있는 모든 것을 당신에게 보내고 당신이 그것을 볼 수있는 행동을 인식하지 못하는 것처럼 보이지만이 규범에 그것을 복사하는 법을 모르겠습니다. ( – Mindan