Leccion 5: Pasar parámetros entre 2 pantallas

Hola bienvenidos a la 5ta entrega semanal de este Curso de Android paso a paso. En esta ocasión hablaremos de pasar parámetros entre 2 pantallas (Activities). Puedes ver las anteriores entregas en: https://www.androidvenezuela.com/categoria/curso-paso-a-paso.

Anteriormente, hablamos de crear 2 Actvities en nuestra aplicación, ahora hablaremos de como pasar parámetros a esa segunda pantalla. Para este ejemplo crearemos una aplicación que tenga varias preguntas y el segundo Activity diga cuál fue el resultado.


Instrucciones:

  • Primero crearemos el primer Activity como lo hicimos anteriormente. Para eso simplemente creamos un proyecto Android y ponemos en la parte visual 2 preguntas con 2 opciones  cada una, para eso tenemos que hacer algo llamado Grupos de objetos visuales. En este caso haremos un Radio Group,  esto lo hacemos si queremos que 2 partes visuales solo dependan de ello, para eso en el XML del layout del primer Activity ponemos <RadioGroup (con unos parámetros) Android:id=”@+id/grupo” (Esto es el id de este objeto, se maneja igual que los id de html), Android:layout_width=”wrap_content”(Esto quiere decir que el ancho, será puesto por el contenido) Android:layout_height=”wrap_content”(Esto quiere decir que la altura, será puesto por el contenido),y dentro de esto tienen que estar los Radio Button, y quedara algo así (Rojo primero y azul después):

(En rojo lo que se hizo primero y en azul lo que viene después)

Aquí esta la parte visual terminada

  • Para seguir leyendo ésta entrega, dale click en Más>
  • Luego de eso hacemos programamos que pasaría si la respuesta correcta es recibida, cuando apretamos el botón enviar respuesta, para eso usaremos lo haremos por la clase Java importando todos los botones y poniendo que pasaría si uno fuese elegido cuando se presione el botón enviar respuesta, recordamos que para saber si un Radio Button fue seleccionado es con el método isChecked(), que devuelve un boolean (True o False) con eso podemos saber con la sentencia condicional If cual fue presionado y lanzar el segundo Activity que dirá la respuesta. Paso a paso el código será algo así (Rojo lo que se hizo primero y azul lo que se hizo después):
  • Luego que hacemos todo de la segunda Activity (Su parte visual y su clase en Java), usaremos el un método del objeto Intent que se llama putExtras(), que su primer parámetro es “Nombre” y su segundo valor es “Valor”(lo que llevara hacia el otro Activity), en este caso nuestro nombre le diremos “Ganador”, y llevaremos el nombre del ganador que esta en el botón para eso le quitaremos el texto del botón y lo pasaremos al objeto String con el método .getText().toString(), y quedara algo así (También de una vez aprovechamos y programamos la 2da opción):

  • Después de eso haremos lo que pasara si alguna de las 2 opciones es llevada, en el 2do Activity usaremos el objeto Bundle que es el que se encarga de agarrar lo que fue enviado e interactuar con el, usaremos el método getIntent().getExtras()  que agarra todo lo que fue enviado con ese método, y con eso podemos interactuar también usaremos el método .containsKey()que recibe como parámetro la llave (o nombre) que tiene el extra y podemos interactuar con el, nos va a quedar algo así:

  • Después de esto usaremos la estructura condicional If  para saber si el Bundle contiene “Ganador” o perdedor, con el método .containstKey() y con eso cambiaremos el valor de un texto cualquiera que tengamos en ese Activity(Crear un texto en este Activity que es la 2da no la primera), y nos quedara algo así (Rojo primero azul después) : 
  • Con todo esto el resultado seria algo así (Acuérdate de poner el 2do Activity dentro de los permisos del Android Manifest para que la aplicación corra):

 

Bueno con esto concluimos esta 5ta Entrega semanal, no olvides decírselo a tus amigos y hacer de esta comunidad mas grande.

Siganme los buenos @AnteroOfficial

 

Like
Like Love Haha Wow Sad Angry

José Rojas

Geek. Full Stack Web Developer. Android Developer.
Ingeniero en Informática. Msc. en Ingeniería de Software.
Trabajo con Linux, Android, Python, Ruby on Rails, Angular e Ionic.
Experto en Wordpress. Creador de Android Venezuela

Síguenos

Mantente al día. Opina. Pide ayuda.
Saluda. Queremos escucharte

Leer entrada anterior
Google anuncia evento el 29 de octubre

Hace unas horas, Google comenzó a enviar invitaciones para un evento en la ciudad de Nueva York el día 29...

Cerrar