Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2014, 08:51
odsa
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Como hacer varias peticiones al Web Service??

Hola familia necesito me aclaren algo, necesito hacer varias peticiones a mi web service desde una misma actividad, es decir, necesito tres respuestas diferentes del servidor, de momento lo estoy haciendo con AsyncTask y en el método "doInBackground" estoy haciendo las 3 peticiones, la pregunta que me hago es si está bien hecho de esa forma o tengo que llamar a 3 clases AsyncTask diferentes para cada petición para que se cumpla bién el mecanismo de hilos y esas cosas. Les dejo el codigo para qu evean lo que estoy tratando de hacer, las funciones WebGet y WebGetWithToken son los que se conectan al server y hacen las peticiones, una peticion me devuelve un arreglo de Usuarios, la otra la cantidad de mensajes que existen y la otra un arreglo de Mensajes, esta última no me está devolviendo lo que quiero; pero bueno eso es para otro post. Saludos.

Código:
@Override
protected Boolean doInBackground(Void... arg0) {
try {

WebService _ws = new WebService();
String response = _ws.webGet(ServiceConfiguration.UsersOnline);
String responseCM = _ws.webGet(ServiceConfiguration.CountMessages);

HashMap<String, Object> params = new HashMap<String, Object>();
params.put("index", "0");
params.put("size", "2");
String responseAM = _ws.webGetWithToken(ServiceConfiguration.AllMessages, params);

if (response != null && !response.equals("")) {

Type collectionType = new TypeToken<Usuario[]>() {}.getType();
Usuario[] usuarios = miGson.fromJson(response, collectionType);

if (responseCM != null && !responseCM.equals("")) {

respCM = Integer.parseInt(responseCM);

if (responseAM != null && !responseAM.equals("")) {

Type collectionTypeAM = new TypeToken<Message[]>() {}.getType();
Message[] messages = miGson.fromJson(response, collectionTypeAM);

publishProgress(messages);

//return true;

} else {
	return false;
  }
} else {
       return false;
  }
} else {
       return false;
  }
} catch (Exception e) {
Log.i("valores", "Error al leer el json");
e.printStackTrace();
}
return null;
}