Definición de app para rutas andando
El proyecto se planteó como una app Android completa para grabar, importar, guardar y revisar rutas andando.

App Android/Kotlin para rutas andando desarrollada como proyecto final de LSMO. StepByStep graba rutas en tiempo real, importa ficheros GPX, persiste datos de rutas, calcula métricas de distancia, tiempo, altitud y desnivel, y muestra estadísticas de perfil con tema claro y oscuro.
Narrativa del proyecto
StepByStep fue mi proyecto final de LSMO, una asignatura de sistemas móviles y ubicuos centrada en desarrollo Android. A diferencia de AST, no fue un proyecto que creciera a partir de muchos mini-proyectos separados: el objetivo era entregar una aplicación móvil completa para rutas andando, desde creación e importación GPX hasta seguimiento en vivo, métricas, persistencia, estadísticas de perfil y soporte de temas.
El núcleo de la app es la grabación de rutas en tiempo real. Un ForegroundService mantiene el seguimiento activo aunque la app pase a segundo plano, usando FusedLocationProviderClient para actualizaciones de alta precisión, una notificación persistente para volver a la ruta activa, comportamiento START_STICKY y un PARTIAL_WAKE_LOCK para mantener la CPU disponible durante la grabación. El servicio calcula distancia a partir de puntos consecutivos, tiempo transcurrido, altitud actual y desnivel positivo, y envía actualizaciones a la pantalla de grabación mediante broadcasts.
El proyecto también incluye importación GPX mediante un parser propio que lee puntos de track, altitud y timestamps, calcula estadísticas de ruta y guarda el resultado con Room. Las rutas y puntos están modelados como entidades separadas con borrado en cascada, permitiendo listar rutas grabadas/importadas, mostrar estadísticas globales de perfil y persistir el historial de caminatas. Visualmente, la app combina Google Maps, estilo oscuro de mapa, temas Android claro/oscuro y pantallas específicas para creación de ruta, importación, métricas de perfil, guardado y revisión de detalle.
Rol y contribuciones
Desarrollador Android del proyecto final de LSMO. Diseñé e implementé la estructura de la app en Kotlin, entidades y repositorios Room, parser GPX, servicio de grabación de rutas, integración con Google Maps, cálculo de métricas, estadísticas de perfil, soporte de temas y flujos de pantalla para listar, importar, grabar, guardar y revisar rutas andando.
Versiones e hitos
El proyecto se planteó como una app Android completa para grabar, importar, guardar y revisar rutas andando.
ForegroundService, Fused Location, notificación, broadcasts y wake lock mantuvieron activas las métricas durante la grabación.
Parser GPX propio y entidades Room para guardar rutas y puntos con estadísticas calculadas.
Entrega final con grabación de rutas, importación, métricas, estadísticas de perfil, temas y pantallas basadas en mapa.
Tecnologías