Skip to main content
StepByStep — Matrícula de Honor en LSMO - 1 of 4
1 / 4
AcadémicoMatrícula de Honor

StepByStep — Matrícula de Honor en LSMO

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

vBRIEFProyecto final

Definición de app para rutas andando

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

vTRACKImplementación principal

Grabación de rutas en segundo plano

ForegroundService, Fused Location, notificación, broadcasts y wake lock mantuvieron activas las métricas durante la grabación.

vGPXFlujo de datos

Importación GPX y persistencia Room

Parser GPX propio y entidades Room para guardar rutas y puntos con estadísticas calculadas.

vFINALMayo de 2025

Matrícula de Honor en LSMO

Entrega final con grabación de rutas, importación, métricas, estadísticas de perfil, temas y pantallas basadas en mapa.

Tecnologías

Kotlin
Android
Room
Google Maps
Fused Location Provider
Foreground Service
GPX
MPAndroidChart
MVVM
XML Layouts