+34 681 386 013 sergioalvarez3000@gmail.com
Seleccionar página

App-muestra arquitectura Android

La aplicación «Counter Classic XML Views MVVM» es un contador que avanza 10 unidades por segundo. Además, te permite marcar «momentos» en el tiempo con un botón, y estos momentos quedan registrados en una lista para que puedas verlos.

Lo realmente especial de esta aplicación es su estructura interna: está diseñada y programada siguiendo las mejores prácticas recomendadas por Google, incorporando las ventajas de HILT en su último commit. Es una excelente muestra de mis conocimientos avanzados de arquitectura Android en la actualidad.

Link de gitHub con el proyecto completo.

Descripción técnica de la app

La aplicación integra Room con Corrutinas, ViewModel con LiveData y una interfaz de usuario reactiva, demostrando mis habilidades en arquitectura Android. Está alineada con las recomendaciones de Google, utilizando ViewModels para el procesamiento y presentación de datos y observadores para la actualización de la interfaz. Con la implementación de HILT, el acoplamiento se ha reducido significativamente, mejorando la inyección de dependencias. Todos los casos de uso, como CounterUseCase e InsertFlagUseCase, ahora se implementan a través de interfaces, lo que potencia la modularidad del código.

Estructura de archivos y descripción general de alguna clase relevante de la app

La clase CounterUseCase, situada en la capa de dominio, gestiona la lógica del contador que avanza 10 unidades por segundo. Se apoya en corutinas y en la entidad Job para el proceso de conteo. Se abordó el desafío de un conteo acelerado en ciertas circunstancias, llevando a optimizaciones en el código.

Las dependencias se gestionan y se inyectan mediante HILT, ofreciendo una gestión de dependencias más eficiente y moderna que las soluciones anteriores. Este proceso, junto con la aplicación de interfaces, adhiere firmemente a los principios SOLID, asegurando una arquitectura robusta, modular y fácil de mantener.

En resumen, este proyecto es un claro ejemplo de las mejores prácticas actuales en desarrollo y arquitectura Android.