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:

  1. 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.
  2. 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

  1. Crea una nueva actividad llamada ThirdActivity.
  2. En MainActivity, añade un botón que, al hacer clic, inicie ThirdActivity y pase un mensaje.
  3. En ThirdActivity, muestra el mensaje en un TextView.

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.

© Copyright 2024. Todos los derechos reservados