2013-07-02 4 views
-1

почему в этом коде не работает? контроль, если заявление обойденасообщение из фонового потока android

@Override 
public void run() { 

    try {   

     Log.d("UDP", "S: Connecting..."); 

     // CREO ED INIZIALIZZO IL SOCKET UDP 
     DatagramSocket socket = new DatagramSocket(null); 
     socket.setReuseAddress(true); 
     socket.bind(new InetSocketAddress(SERVERIP, SERVERPORT)); 
     //DEFINISCO LA GRANDEZZA DEL BUFFER IN RICEZIONE 

     byte[] buf = new byte[64]; 
    //CREO ED INIZIALIZZO IL PACCHETTO 

     DatagramPacket packet = new DatagramPacket(buf, buf.length); 
     Log.d("UDP", "S: Ricezione..."); 
     IL SERVER SI METTE IN "RICEZIONE" DEL PACCHETTO 

     socket.receive(packet); 

     Log.d("UDP", "S: Ricevuto: " + new String(buf, 0, packet.getLength()) + "'"); 
     Log.d("UDP", "S: Ok."); 

     String risultato= new String(buf, 0, packet.getLength()); 
     System.err.println(risultato); 



     if(risultato=="COMANDO RICEVUTO CORRETTAMENTE"){ 
      // Showing Alert Message 
      alertDialog.show(); 
      System.err.println("ALERT DIALOG"); 
     } 


} catch (Exception e) { 
     Log.e("UDP", "S: Error", e); 
} 
} 
+0

Перевести на английском языке. Необходимое количество строк должно сравниваться. Использование == будет сравнивать ссылки на строки – Blackbelt

+0

becausse, вы не можете получить доступ к пользовательскому интерфейсу из потока, отличного от пользовательского интерфейса. Читайте об AsyncTask и, возможно, об этом тоже - http://stackoverflow.com/help/how-to-ask – mihail

+0

Согласовано с @mihail. Лучше использовать AsyncTask, который удобен. –

ответ

0

Изменить

if(risultato=="COMANDO RICEVUTO CORRETTAMENTE"){ 
      // Showing Alert Message 
      alertDialog.show(); 
      System.err.println("ALERT DIALOG"); 
} 

с

if(risultato.equalsIgnoreCase("COMANDO RICEVUTO CORRETTAMENTE")){ 
      // Showing Alert Message 
      alertDialog.show(); 
      System.err.println("ALERT DIALOG"); 
} 

в Java == для струнных объекта сравнивает ссылки Строка не их содержание

Смежные вопросы