Guia 5 - Intents y Navegación
Guia 5 - Intents y Navegación
Guia 5 - Intents y Navegación
Tema: Intents
Intents
Los intents son la forma de representar una acción a través de mensajes. Forma de comunicación en Android,
que permite interactuar componentes de la misma aplicación o entre diferentes aplicaciones (Activities,
Services, Broadcasts, etc.).
Recordemos que para que un intent cuya acción sea la de iniciar otra actividad, es necesario que dicha actividad
esté definida en el manifest.xml
Existen dos tipos de intents, implícitos o explícitos, un intent implícito, requiere que definamos un intent filter
para definir la acción que puede realizar la actividad, esto lo definimos en el manifest, de esta manera otra
aplicación o componente puede llamar esta actividad llamándola por su acción y no por su nombre:
Transmisión de datos
La transmisión de datos desde la activity de origen a la de destino se hace con el intent. EL intent tiene varios
métodos que inician con put, ejemplo:
putExtras: Creamos un objeto Bundle y lo usamos para agregar valores asignando a cada valor una clave
para poder leerlos posteriormente:
Si se envía putExtras:
Si se envía putExtra:
startActivityForResult
Sirve para lanzar una actividad que retorna un resultado final cuando es finalizada. Cuando la actividad finaliza la
actividad que la llamó invoca el método onActivityResult().
Hagamos un ejemplo:
Enviamos nuestro código de solicitud para que cuando obtengamos el resultado sepamos que el código
usado para llamar esta actividad fue el 0 (esto es útil si tenemos varios llamados startActivityforResult desde
una misma actividad)
En la actividad destino, creamos un botón que cuando haga click, finalice la actividad enviando un código
de resultado a la actividad de origen y datos si es necesario:
Finalmente en la actividad de origen sobreescribimos el método onActivityResult para leer los datos enviados y
realizar alguna acción, tras finalizar la actividad de destino:
Ejercicio
1. Realizar la navegación entre una pantalla y otra enviando 2 Strings de los editText de la primera
pantalla y mostrándolos en la segunda.
2. Llamar la actividad de la cámara con el startActivityForResult y leer los datos para mostrarlos en la
interfaz
Pista 1 en startActivityforResult:
Pista 2 en onActivityResult: