Objetivos del Módulo
En este módulo, aprenderás:
- Qué son los Intents en Android.
- Los diferentes tipos de Intents.
- Cómo usar Intents para iniciar actividades y pasar datos entre ellas.
- Ejemplos prácticos de uso de Intents.
- Ejercicios para reforzar los conceptos aprendidos.
¿Qué es un Intent?
Un Intent en Android es un objeto que permite a las aplicaciones comunicarse entre sí. Los Intents pueden ser utilizados para:
- Iniciar una nueva actividad.
- Enviar datos entre actividades.
- Iniciar servicios.
- Enviar mensajes a componentes del sistema.
Tipos de Intents
Existen dos tipos principales de Intents:
- Intents Explícitos: Se utilizan para iniciar una actividad o servicio dentro de la misma aplicación. Se especifica directamente la clase de la actividad o servicio que se desea iniciar.
- Intents Implícitos: Se utilizan para realizar una acción sin especificar la clase exacta. El sistema Android determina qué componente puede manejar el Intent.
Intents Explícitos
Ejemplo de Intent Explícito
A continuación, se muestra un ejemplo de cómo usar un Intent explícito para iniciar una nueva actividad:
// MainActivity.java Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent);
En este ejemplo:
MainActivity.this
es el contexto actual.SecondActivity.class
es la actividad que se desea iniciar.
Pasando Datos con Intents Explícitos
Puedes pasar datos entre actividades utilizando el método putExtra
:
// MainActivity.java Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("EXTRA_MESSAGE", "Hola, SecondActivity!"); startActivity(intent);
Para recibir los datos en SecondActivity
:
// SecondActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Intent intent = getIntent(); String message = intent.getStringExtra("EXTRA_MESSAGE"); TextView textView = findViewById(R.id.textView); textView.setText(message); }
Intents Implícitos
Ejemplo de Intent Implícito
Un Intent implícito no especifica la clase exacta que debe manejar la acción. En su lugar, se define una acción que puede ser manejada por múltiples aplicaciones:
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.google.com")); startActivity(intent);
En este ejemplo:
Intent.ACTION_VIEW
es la acción que se desea realizar.Uri.parse("http://www.google.com")
es el dato que se pasa al Intent.
Filtrando Intents con Intents Filters
Para que una actividad pueda responder a un Intent implícito, debe declarar un filtro de Intent en el archivo AndroidManifest.xml
:
<activity android:name=".SecondActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="http" /> </intent-filter> </activity>
Ejercicios Prácticos
Ejercicio 1: Iniciar una Actividad con un Intent Explícito
- Crea una nueva actividad llamada
ThirdActivity
. - Desde
MainActivity
, iniciaThirdActivity
utilizando un Intent explícito. - Pasa un mensaje desde
MainActivity
aThirdActivity
y muéstralo en unTextView
.
Solución del Ejercicio 1
// MainActivity.java Intent intent = new Intent(MainActivity.this, ThirdActivity.class); intent.putExtra("EXTRA_MESSAGE", "Hola, ThirdActivity!"); startActivity(intent);
// ThirdActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); Intent intent = getIntent(); String message = intent.getStringExtra("EXTRA_MESSAGE"); TextView textView = findViewById(R.id.textView); textView.setText(message); }
Ejercicio 2: Usar un Intent Implícito para Abrir una URL
- Desde
MainActivity
, crea un Intent implícito para abrir una URL en un navegador web.
Solución del Ejercicio 2
// MainActivity.java Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.google.com")); startActivity(intent);
Resumen
En este módulo, hemos aprendido:
- Qué son los Intents y los diferentes tipos de Intents en Android.
- Cómo usar Intents explícitos para iniciar actividades y pasar datos entre ellas.
- Cómo usar Intents implícitos para realizar acciones sin especificar la clase exacta.
- Ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos.
En el próximo módulo, exploraremos cómo trabajar con Fragmentos en Android.
Curso de Android Studio
Módulo 1: Introducción a Android Studio
- Introducción a Android Studio
- Configuración de Android Studio
- Entendiendo la interfaz de Android Studio
- Creando tu primer proyecto Android
Módulo 2: Desarrollo básico de Android
- Entendiendo la estructura del proyecto Android
- Introducción a los diseños XML
- Componentes básicos de la interfaz de usuario
- Introducción a las actividades
- Ejecutando tu aplicación en un emulador
Módulo 3: Desarrollo intermedio de Android
- Introducción a los Intents
- Trabajando con Fragmentos
- Manejo de la entrada del usuario
- Usando RecyclerView
- Redes en Android
Módulo 4: Desarrollo avanzado de Android
- Persistencia de datos con SQLite
- Usando Room para la gestión de bases de datos
- Componentes avanzados de la interfaz de usuario
- Vistas personalizadas y Canvas
- Trabajando con tareas en segundo plano
Módulo 5: Desarrollo profesional de Android
- Implementando la arquitectura MVVM
- Inyección de dependencias con Dagger
- Pruebas unitarias y pruebas de interfaz de usuario
- Publicando tu aplicación en Google Play
- Optimización del rendimiento