dentro de mi actividad principal que tengo el siguiente código:Usando putExtra para pasar valores al servicio de la intención
EditText usernameText;
EditText passwordText;
public void sendLogin (View loginview){
Intent i = new Intent(this, NetworkService.class);
startService(i);
}
Actualmente, esto sólo envía una intención de la NetworkService, que se maneja de la siguiente manera (truncada):
public class NetworkService extends IntentService {
public NetworkService() {
super("NetworkService");
}
protected void onHandleIntent(Intent i) {
/* HTTP CONNECTION STUFF */
String login = URLEncoder.encode("Username", "UTF-8") + "=" + URLEncoder.encode("XXX", "UTF-8");
login += "&" + URLEncoder.encode("Password", "UTF-8") + "=" + URLEncoder.encode("XXX", "UTF-8");
}
}
Ahora, lo que tengo que averiguar, es cómo pasar esas usernameText
y passwordText
valores a través de la NetworkService
en el 'XXX', sino también dentro del NetworkService
, tengo la intención (sin doble sentido), para que se manejar múltiples int en varios lugares, uno de un inicio de sesión, uno de recuperar información sobre los usuarios que usan el token de inicio de sesión, por ejemplo. donde todas las redes estarán contenidas. Me dijeron que esta era la mejor práctica dentro de las aplicaciones de Android, para mantener la red separada.
Mi pregunta es: ¿Cuál es la mejor manera de enviar esas dos variables a la NetworkService
y también cómo, dentro del onHandleIntent
del NetworkService
, puedo separar el código sólo para hacer lo que estoy pidiendo a (inicio de sesión, obtener información del usuario, buscar datos de ubicación, etc.)?
Lo siento si la respuesta es simple, pero soy muy nuevo en la programación de aplicaciones.
Gracias
Gracias, esto es lo que busco, estoy asignando a cada uno de los métodos un valor int 'intentID' a través de putExtra, que busco dentro del dispositivo en mano, para decidir qué parte del intento ejecutar. El único problema que estoy teniendo es que el código se cuelga en i.putExtra ("username", usernameText.getText(). ToString()); así que estoy intentando depurar eso ahora. – Seb
¿Cuál es la solución si uso 'IntentService' con' PendingIntent.getService() '? –
Gracias por la respuesta simple –