0

私のAndroidプロジェクトでは、2つの単純なボタン(button1とbutton2)を使用して、Android(WiFiを使用)で文字列/テキストをコンピューターに正常に送信しています。しかし、2 つの単純なボタン (button1 と button2) の代わりに、「単一の画像ボタンのみ (トグルとして)」を使用したいと考えています。これが私のコードです。

   import java.io.IOException;
   import java.io.PrintWriter;
   import java.net.Socket;
   import java.net.UnknownHostException;
   import android.os.Bundle;
   import android.app.Activity;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.EditText;

   public class MainActivity extends Activity {

  private Socket client;
  private PrintWriter printwriter;
  private EditText etMsg;       //, etIP, etPort;
  private Button button;
  private Button button1;
  private String messsage;
  int port = 0; //

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

   //   etIP = (EditText) findViewById(R.id.editText1);
   //  etPort = (EditText) findViewById(R.id.editText2);
    etMsg = (EditText) findViewById(R.id.editText3);
    button = (Button) findViewById(R.id.button1);
    button1 = (Button) findViewById(R.id.button2);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            messsage = "TV ON" ; //etMsg.getText().toString();
            etMsg.setText("");
           // port = Integer.parseInt(etPort.getText().toString());

            new Thread(new Runnable() 
            {

                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    try 
                    {
                      //  client = new Socket(etIP.getText().toString(), port);
                        client = new Socket("1.2.3.4",2000);

                        printwriter = new     
                        PrintWriter(client.getOutputStream(),true);
                        printwriter.write(messsage);
                        printwriter.flush();
                        printwriter.close();
                        client.close();
                    }

                    catch (UnknownHostException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }       
                }
            }).start();


        }
      });

      button1.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
          // TODO Auto-generated method stub

        messsage = "TV OFF" ; //etMsg.getText().toString();
        etMsg.setText("");
       // port = Integer.parseInt(etPort.getText().toString());

        new Thread(new Runnable() 
        {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                try 
                {
                  //  client = new Socket(etIP.getText().toString(), port);
                    client = new Socket("1.2.3.4",2000);

                    printwriter = new PrintWriter(client.getOutputStream(),true);
                    printwriter.write(messsage);
                    printwriter.flush();
                    printwriter.close();
                    client.close();
                }

                catch (UnknownHostException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }       
            }
        }).start();


    }
    });
    }
    }
4

1 に答える 1