Atualizar a interface do usuário de maneira assíncrona no Android
Eu tenho uma chamada de serviço da web que é chamada a cada 10 segundos e deve atualizar um TextView com a resposta do serviço da Web (ou pelo menos mostrar uma mensagem de brinde a cada 10 segundos)
Mas a interface do usuário não está sendo atualizada.
Por favor, encontre o código abaixo.
public class MessagesRequestActivity extends Activity {
/** Called when the activity is first created. */
String currentMsg="Default";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Calling the webservice
getMessage();
}
public void getMessage(){
try
{
SoapObject request = new SoapObject("http://tempuri.org/", "getMessage");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
//Web method call
HttpTransportSE androidHttpTransport = new HttpTransportSE("http://192.168.4.50/WebService.asmx");
androidHttpTransport.call("http://tempuri.org/"+ "getMessage", envelope);
//get the response
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
//the response object can be retrieved by its name: result.getProperty("objectName");
String message = (String)response.toString();
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
e.printStackTrace();
}
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}