Inicio » Cursos » Programación Android desde Cero

Curso Programación Android desde Cero

Capitulo 25 ➜ Pasar parámetros entre activities

Pasar parámetros entre activities

¿Cómo pasar parámetros entre actividades?

Para enviar parámetros o valores entre actividades los podemos hacer usando el método putExtra donde recibe los parámetros en valores pares

Pasar parámetros entre actividades en Android

Existen dos métodos principales para pasar parámetros entre actividades en Android:

1. Intent Extras:

  • ¿Qué es? Un Intent es un objeto que representa una solicitud para realizar una acción, como iniciar una actividad, mostrar un diálogo o enviar un mensaje de transmisión. Los Extras son un conjunto de pares clave-valor que se pueden adjuntar a un Intent para pasar datos entre componentes de la aplicación.

  • ¿Cómo se usa?

    1. Crea un Intent: Crea un objeto Intent utilizando la clase Intent y especifica la clase de la actividad de destino como constructor.

    2. Agrega Extras: Para agregar datos a un Intent, utiliza el método putExtra() de la clase Intent. El primer parámetro es la clave de los datos y el segundo parámetro es el valor de los datos. Puedes agregar varios pares clave-valor al mismo Intent.

    3. Inicia la actividad: Para iniciar la actividad de destino, utiliza el método startActivity() de la clase Activity y pasa el Intent como parámetro.

    4. Recupera los Extras: En la actividad de destino, puedes recuperar los Extras del Intent utilizando el método getIntent() de la clase Activity y luego el método getStringExtra() o getIntExtra(), etc., para obtener los valores correspondientes a cada clave.

Ejemplo:

En la actividad MainActivity, queremos pasar el nombre "Juan Pérez" a la actividad DetailActivity.

MainActivity.java:

Java

Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("nombre", "Juan Pérez");
startActivity(intent);

 

En la actividad DetailActivity, queremos recuperar el nombre pasado desde MainActivity.

DetailActivity.java:

Java

String nombre = getIntent().getStringExtra("nombre");
TextView textView = findViewById(R.id.textViewNombre);
textView.setText(nombre);

 

2. Bundle:

  • ¿Qué es? Un Bundle es un objeto similar a un diccionario que se utiliza para almacenar y pasar datos. Es más flexible que Extras, ya que puede almacenar no solo tipos de datos primitivos, sino también objetos complejos como listas y mapas.

  • ¿Cómo se usa?

    1. Crea un Bundle: Crea un objeto Bundle utilizando la clase Bundle.

    2. Agrega datos: Para agregar datos a un Bundle, utiliza el método put() de la clase Bundle. El primer parámetro es la clave de los datos y el segundo parámetro es el valor de los datos. Puedes agregar varios pares clave-valor al mismo Bundle.

    3. Pasa el Bundle: Para pasar el Bundle a una actividad, puedes hacerlo de dos maneras:

    • Como parámetro de Intent: Al igual que con Extras, puedes adjuntar el Bundle al Intent utilizando el método putExtra().

    • Como argumento de método: Si la actividad de destino tiene un método que recibe un Bundle como parámetro, puedes pasar el Bundle directamente a ese método.

    1. Recupera los datos: En la actividad de destino, puedes recuperar los datos del Bundle utilizando el método get() de la clase Bundle. El primer parámetro es la clave de los datos y el segundo parámetro es el tipo de dato esperado.

Ejemplo:

En la actividad MainActivity, queremos pasar un objeto Persona con el nombre "Juan Pérez" y la edad 30 a la actividad DetailActivity.

MainActivity.java:

Java

Persona persona = new Persona("Juan Pérez", 30);
Bundle bundle = new Bundle();
bundle.putParcelable("persona", persona);
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtras(bundle);
startActivity(intent);

 

En la actividad DetailActivity, queremos recuperar el objeto Persona pasado desde MainActivity.

DetailActivity.java:

Java

Bundle bundle = getIntent().getExtras();
if (bundle != null) {
    Persona persona = bundle.getParcelable("persona");
    TextView textViewNombre = findViewById(R.id.textViewNombre);
    textViewNombre.setText(persona.getNombre());
    TextView textViewEdad = findViewById(R.id.textViewEdad);
    textViewEdad.setText(String.valueOf(persona.getEdad()));
}

 


1567 visitas

Sigue con el curso: Capítulo 26 – App Calculadora en Java

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023