Tercer ejercicio con Android. En este vamos a ver cómo pedir el nombre de un usuario y su edad, para que al presionar un botón se abra otra actividad y le muestre:

  1. Si es menor de edad: una imagen de un juguete (con un mensaje de que todavía no está preparado)
  2. Si es mayor de edad: una imagen de un auto
Ejercicio Android - Mostrar imagen comprobando si es mayor de edad

Ejercicio Android – Mostrar imagen comprobando si es mayor de edad

En ambos casos el mensaje debe contener el nombre del usuario.

Repositorio en GitHub

El código completo lo puedes encontrar en mi perfil de GitHub.

Agregar imágenes

Me he descargado unas imágenes de Pixabay (por cosas como esa página es que uno confía en el mundo); una de un juguete y otra de un auto.

Para poder tener una referencia a ellas las ponemos en la carpeta drawable dentro de res. En mi caso se ve así:

Poner imágenes en drawable

Poner imágenes en drawable

La ruta absoluta es nombreDelProyecto/app/src/main/res/drawable.

Dentro del código vamos a acceder a ellas con R.drawable.nombre_imagen.

Diseñar layout principal

Antes de continuar, vamos a ver el layout principal. Este pide el nombre del usuario y su edad, con un botón para mostrar la segunda actividad. El XML, que es un ConstraintLayout, queda así:

Tenemos dos EditText con un Button.

Programar actividad con Java

Desde Java vamos a obtener los valores que el usuario ha escrito y los vamos a enviar a una segunda actividad. La comprobación para saber si es mayor de edad y la configuración de la imagen la vamos a ver en la otra actividad.

Por el momento el código queda así:

La Actividad2 todavía no existe, en un momento la vamos a crear. Únicamente estamos recuperando los valores, haciendo una “validación” y en caso de que todo vaya bien pasamos los valores a la otra actividad.

El diseño de la segunda actividad

La segunda actividad tendrá un ImageView con un TextView. He agregado al ConstraintLayout una guía horizontal del 50 % para que la imagen siempre quede fija a la mitad de la pantalla y no ocasione que el texto se baje demasiado.

El diseño queda así:

El id del TextView es textView y el de la ImageView es imageView; qué creativo soy.

No definimos la fuente de la imagen ni el texto en el XML porque eso lo vamos a hacer desde Java.

Código de la segunda actividad

En la segunda actividad recuperamos los datos enviados desde la MainActivity (el nombre con la edad) y hacemos la comparación. Al menos en México la mayoría de edad es de 18 años, así que hacemos el if con ello.

Para ponerle la fuente al ImageView usamos setImageResource, y le pasamos un entero que viene de la clase pública estática R.

En resumen, ponemos R.drawable.nombre_imagen

El mensaje lo armamos igualmente dentro de la comprobación.

Así de simple y sencillo.

¿Encontraste lo que buscabas?

Si es así, suscríbete para que estés enterado de mis nuevos posts sobre programación e informática

Estoy interesado en trabajar contigo de manera remota para llevar tu idea a la realidad, formar parte de tu equipo de desarrolladores, ayudarte con tu tarea, dar asesorías y todo lo relacionado con tecnología y programación. Contáctame para más información
No te vayas sin seguirme en Twitter, Facebook y GitHub
Si tienes dudas déjalas en un comentario, pero asegúrate de seguirme antes como agradecimiento (no te cuesta nada y me ayudas mucho)

Si el contenido es de tu agrado, sígueme

parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share via
A %d blogueros les gusta esto: