Как я могу запрограммировать StreamReader в моем приложении для Android? - PullRequest
2 голосов
/ 04 февраля 2012

Я должен разработать приложение для Android, которое получает сообщение от сервера, но я могу подключиться к серверу, но не могу получить сообщение, потому что, когда я нажал на кнопку подключения блоков.Я думаю, что это из-за цикла, но я не знаю, как разрешить эту ситуацию по-другому, и буду признателен за вашу помощь.

Короче говоря, я хочу знать, есть ли другой способ определить, когда я получаю сообщение и подаркиэто.

Обновление: я нашел решение, подобное этому:

String IP;

String comando;

PrintWriter msgout;

BufferedReader msgin;

Socket socket;

    private ConnectedThread mConnectedThread;



public void connect(){ //Function to Button connect

    IP = edit.getText().toString();

    try {

     InetAddress serverAddr = InetAddress.getByName(IP); //TCPServer.SERVERIP

     Socket socket = new Socket(serverAddr, 4444); //Porta 4444 serverAddr
     PrintWriter out = new PrintWriter( new BufferedWriter( new  OutputStreamWriter(socket.getOutputStream())),true);
     msgout = out;

     BufferedReader in = new BufferedReader(new  InputStreamReader(socket.getInputStream()));
     msgin = in;

 zav.text1.setText("Connectado.");

  //Wait to mensages
  mConnectedThread = new ConnectedThread();
  mConnectedThread.start();

     } catch (Exception e) {
         text1.setText("Erro! Não conectado." + e);
    }
}

public void send(String message){

     try {

         msg.println(message);


     } catch(Exception e) {
         text1.setText("Erro! Comando não enviado." + e);
 } 
}

private class ConnectedThread extends Thread {

    public void run(){

     while(true){

         //Read
     try {

                String str = msgin.readLine();
                 text1.setText(str);

              } catch(Exception e) {

                  text1.setText("Error" + e);

              } 
         }
   }
}

1 Ответ

3 голосов
/ 04 февраля 2012

Вы пробовали Push-уведомления? Вот хорошее место для начала http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...