Este ejercicio es parte del curso Android Completo con Kotlin. Al desarrollarlo practicarás los siguientes temas de Android:
- Layouts y diseño en Android.
- Interpretar e implementar requerimientos.
- Android Intents y Parcelables.
Este ejercicio como todos los del curso es opcional. Puedes ver la app completa en este repositorio de Github. Aunque te recomiendo que lo intentes hacer por tu cuenta.
Trataré de explicar el proyecto tal como te lo explicarían en un trabajo de la vida real. ¡Vamos a ello!
Earthquake Monitor es una aplicación móvil que muestra los terremotos ocurridos en la última hora a nivel mundial, consiste en dos pantallas, una que muestra la lista de los terremotos, al dar clic en uno de los terremotos muestra los detalles del mismo en una segunda pantalla:
La primera pantalla ya está terminada, pero la segunda solo tiene el diseño, tu misión será desarrollar la pantalla de detalles tal como en el diseño, a continuación te dejo los objetivos y los requerimientos de diseño:
Objetivos.
- Que cuando des clic a un terremoto abra la pantalla de detalles.
- La pantalla de detalles deberá mostrar los siguientes datos de la manera en que está diseñada: Magnitud del terremoto, coordenadas, lugar en que ocurrió, fecha en la que ocurrió (La fecha es opcional)
Requerimientos de diseño.
- Color de la magnitud: #0055FF
- Tamaño de magnitud: 72sp
- Tamaño texto Richter: 24sp
- Color coordenadas: #95a5a6
- Tamaño de los demás textos: 16sp
- Color demás textos #212121
- Color lineas divisoras: #ecf0f1
- Margen de magnitud con parte superior: 32dp
- Márgenes izquierda y derecha: 16dp
Tip para mostrar la fecha
La fecha de los terremotos es de tipo Long y viene en un formato que se llama Timestamp UNIX, un Timestamp son los mili segundos que han pasado desde el 1 de enero de 1970 hasta la fecha, para convertir un Timestamp a una fecha que podamos leer puedes hacerlo así:
// Aquí insertas el patrón del formato que quieras, por ejemplo // dd es el patrón para día, MM para mes y yyyy para año, puedes // encontrar más patrones aquí. val simpleDateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault) val date = Date(myTimestamp) val formattedString = simpleDateFormat.format(date)