Mars Photos es una aplicación que mustra imágenes de la superficie de marte. Estas imágene son reales de Marte y son capturadas por el Mars rovers de la NASA. La información está almacenada en un servidor web como un servicio web REST.
La aplicación muestra el uso de Retrofit para realizar peticiones REST a un servicio web, se utiliza Moshi para manejar la deserialización del JSON retornado y mapearlos a data objects de Kotlin, y Coil para cargar imágenes por URL.
Se requiere tener conocimiento de:
- Como crear Composables.
- Como utilizar componentes de arquitectura incluyendo ViewModel.
- Como utilizr corutinas para tareas asíncronas.
- Familiaridad con lazy grid composable
- Inyección de dependencias manual (application class)
- Proveedor de ViewModel (viewModelFactory)
- Scaffold
- LazyVerticalGrid
- Card composable
- AsyncImage
- Pantalla consulta satisfactoria al servicio web usando retrofit
- Pantalla while fetching
- Funcionalidad de error al cargar la imágen
- Funcionalidad de retry ante pérdida de conectividad