Objetivos del Módulo
En este módulo, aprenderás:
- Qué es una actividad en Android.
- Cómo crear y gestionar actividades.
- El ciclo de vida de una actividad.
- Cómo pasar datos entre actividades.
¿Qué es una Actividad?
Una actividad es un componente fundamental en una aplicación Android. Representa una sola pantalla con una interfaz de usuario. Cada actividad se deriva de la clase Activity
y puede contener varios elementos de la interfaz de usuario, como botones, textos, imágenes, etc.
Conceptos Clave
- Activity: Una clase que representa una pantalla en una aplicación Android.
- Intent: Un mecanismo para iniciar una actividad o comunicarse entre actividades.
- Ciclo de vida de la actividad: Los diferentes estados por los que pasa una actividad desde su creación hasta su destrucción.
Creando una Actividad
Para crear una nueva actividad en Android Studio, sigue estos pasos:
-
Crear una nueva clase de actividad:
- Haz clic derecho en el paquete de tu proyecto.
- Selecciona
New
>Activity
>Empty Activity
. - Asigna un nombre a la actividad y haz clic en
Finish
.
-
Modificar el archivo de diseño XML:
- Android Studio creará automáticamente un archivo XML de diseño asociado con la nueva actividad.
- Puedes modificar este archivo para definir la interfaz de usuario de la actividad.
Ejemplo Práctico
Vamos a crear una actividad llamada SecondActivity
.
Paso 1: Crear la clase de actividad
// SecondActivity.java package com.example.myfirstapp; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); } }
Paso 2: Modificar el archivo de diseño XML
<!-- res/layout/activity_second.xml --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Welcome to Second Activity!" android:textSize="18sp" /> </LinearLayout>
Ciclo de Vida de una Actividad
El ciclo de vida de una actividad está compuesto por varios métodos que se llaman en diferentes momentos. Los más importantes son:
onCreate()
: Llamado cuando la actividad se crea por primera vez.onStart()
: Llamado cuando la actividad se vuelve visible para el usuario.onResume()
: Llamado cuando la actividad comienza a interactuar con el usuario.onPause()
: Llamado cuando la actividad está a punto de ser detenida.onStop()
: Llamado cuando la actividad ya no es visible para el usuario.onDestroy()
: Llamado antes de que la actividad sea destruida.
Diagrama del Ciclo de Vida
Método | Descripción |
---|---|
onCreate() |
Inicializa la actividad. Configura la interfaz de usuario y otros recursos. |
onStart() |
La actividad se vuelve visible. |
onResume() |
La actividad comienza a interactuar con el usuario. |
onPause() |
La actividad está parcialmente oculta. |
onStop() |
La actividad ya no es visible. |
onDestroy() |
La actividad está a punto de ser destruida. |
Ejemplo de Ciclo de Vida
// MainActivity.java package com.example.myfirstapp; import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "onCreate called"); } @Override protected void onStart() { super.onStart(); Log.d(TAG, "onStart called"); } @Override protected void onResume() { super.onResume(); Log.d(TAG, "onResume called"); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "onPause called"); } @Override protected void onStop() { super.onStop(); Log.d(TAG, "onStop called"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG, "onDestroy called"); } }
Pasando Datos entre Actividades
Para pasar datos entre actividades, se utilizan Intents
. Un Intent
puede llevar datos adicionales llamados "extras".
Ejemplo de Pasar Datos
Paso 1: Enviar datos desde la primera actividad
// MainActivity.java package com.example.myfirstapp; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("EXTRA_MESSAGE", "Hello, Second Activity!"); startActivity(intent); } }); } }
Paso 2: Recibir datos en la segunda actividad
// SecondActivity.java package com.example.myfirstapp; import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); TextView textView = findViewById(R.id.textView); String message = getIntent().getStringExtra("EXTRA_MESSAGE"); textView.setText(message); } }
Ejercicio Práctico
Ejercicio 1: Crear una nueva actividad y pasar datos
- Crea una nueva actividad llamada
ThirdActivity
. - En
MainActivity
, añade un botón que, al hacer clic, inicieThirdActivity
y pase un mensaje. - En
ThirdActivity
, muestra el mensaje en unTextView
.
Solución
Paso 1: Crear la clase de actividad
// ThirdActivity.java package com.example.myfirstapp; import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class ThirdActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); TextView textView = findViewById(R.id.textView); String message = getIntent().getStringExtra("EXTRA_MESSAGE"); textView.setText(message); } }
Paso 2: Modificar el archivo de diseño XML
<!-- res/layout/activity_third.xml --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Welcome to Third Activity!" android:textSize="18sp" /> </LinearLayout>
Paso 3: Modificar MainActivity
para iniciar ThirdActivity
// MainActivity.java package com.example.myfirstapp; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, ThirdActivity.class); intent.putExtra("EXTRA_MESSAGE", "Hello, Third Activity!"); startActivity(intent); } }); } }
Conclusión
En este módulo, has aprendido qué es una actividad en Android, cómo crear y gestionar actividades, el ciclo de vida de una actividad y cómo pasar datos entre actividades. Estos conceptos son fundamentales para el desarrollo de aplicaciones Android y te preparan para avanzar a temas más complejos en el desarrollo de Android.
En el próximo módulo, exploraremos cómo ejecutar tu aplicación en un emulador, lo que te permitirá probar y depurar tu aplicación de manera efectiva.
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