TIMEWIZARD,

 

"GANADOR"
mejor proyecto del curso

TituloTIMEWIZARD

Alumno:  Juan Bañón, José Luis

Descripción:  Cronómetro basado en la obtención de posiciones gps, que va a permitir calcular el tiempo de separación (en segundos) entre distintos participantes en competiciones deportivas (la versión desarrollada está pensada para ciclistas, pero su uso para otros deportes es prácticamente similar).

La aplicación va recogiendo las posiciones GPS del dispositivo, calcula la distancia respecto a la anterior medida, interpola todos los valores necesarios en múltiplos de 10 metros, y envía los valores obtenidos a una base de datos SQL en un hosting externo gratuito (hostinazo). La base de datos va recogiendo todos los valores de los participantes, los ordena y los vuelve a enviar a los dispositivos. El envío de datos al host se lleva a cabo en el hilo principal, pero la conexión al host para recibir datos se realiza en un servicio que corre en un hilo secundario (mediante un intent service). En este servicio cada 7 segundos se produce una llamada al host para descargar datos de todos los participantes. Estos datos serán transferidos a un array (de tipo vector) estático, y de ahí pasados a la actividad principal. La música se ejecuta en un servicio en el hilo principal (para que no se corte al cambiar entre las 2 primeras actividades).

En la figura anterior, si se observa los valores de tiempo correspondiente a una distancia determinada se podrá entender fácilmente el fundamento de la base de datos. Por ejemplo, a los 10 metros la base de datos recogerá 4 medidas de tiempo, a los 20 metros recogerá 3 medidas, a los 30 metros recogerá 2 medidas y por fin, a los 40 metros solo 1 medida. La flecha blanca representa la separación (más reciente, a los 30 metros) en segundos entre el móvil 1 y el móvil 2. La flecha amarilla la separación (a los 20 metros), y así sucesivamente.

 

Del grupo de corredores se elige a un coordinador (ver guía de uso a continuación). Este va a crear una tabla en la base de datos del hosting con el nombre de la carrera (por ejemplo A1234; no es válido un valor numérico porque éste no es admitido como nombre de tabla en sql). El resto de corredores se limitan a añadir valores a la tabla creada por el coordinador. Cuando la carrera acaba y el coordinador pulsa PARAR, se añade la fecha y hora actual al nombre de la tabla, por lo que si algún corredor sigue enviando datos no se van a añadir a la tabla.

Detalles:  TimeWizard.pdf

Aplicación:  TimeWizard.apk

Código fuente: TimeWizard_allFiles.zip

TimeWizard_phpFiles.zip

{jcomments on}