Мой клиент будет подключаться к серверу, но это все - PullRequest
1 голос
/ 03 марта 2012

Клиент Android отправляет строку на сервер.Сервер подтвердит соединение с устройства, и на правильном порту, но это все ... Что должно произойти, если строка напечатана на консоли сервера.без запуска его в приложении для Android, и он работает нормально, так что это заставляет меня поверить, что я что-то упустил на стороне Android вещейМожет кто-нибудь предложить предложение как решить эту проблему.Большое спасибо.

Код клиента:

public class ObjectTestActivity extends Activity {

Button submit;
TextView tv;
private String name = "Hello Android";
private DataOutputStream dos;
private DataInputStream dis;
private final int PORT = 3000;

Button send;
InetAddress host;


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

    send = (Button) findViewById(R.id.send);
    tv = (TextView) findViewById(R.id.tv);


    try{

        host = InetAddress.getLocalHost();
        Socket socket = new Socket("xx.xx.xxx.xxx", PORT);

        dos = new DataOutputStream(socket.getOutputStream());
        dis = new DataInputStream(socket.getInputStream());

    }catch(UnknownHostException e){}
     catch(IOException e){}
}


public void onClick(View view){

    try{
        dos.writeUTF(name);
        dos.flush();
        dis.close();
        dos.close();
    }catch(IOException e){}
}

1 Ответ

1 голос
/ 03 марта 2012

К чему прикреплен onClick? Попробуйте изменить на:

public class MyActivity extends Activity {

  Button submit;
  TextView tv;
  private String name = "Hello Android";
  private DataOutputStream dos;
  private DataInputStream dis;
  private final int PORT = 3000;

  Button send;
  InetAddress host;

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

        send = (Button) findViewById(R.id.send);
        tv = (TextView) findViewById(R.id.tv);


        try{

            host = InetAddress.getLocalHost();
            Socket socket = new Socket("xx.xx.xxx.xxx", PORT);

            dos = new DataOutputStream(socket.getOutputStream());
            dis = new DataInputStream(socket.getInputStream());

       }catch(UnknownHostException e){}
        catch(IOException e){}


        send.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 try{
                 dos.writeUTF(name);
                 dos.flush();
                 dis.close();
                 dos.close();
              }catch(IOException e){}
             }
         });
     }
 }

Для вашей кнопки onClick.

Проще говоря: определите ваши кнопки методом onClick внутри onCreate (send.onCreate (...)).

Этот пример взят из здесь

...