Práctica de computación móvil
El proyecto plantea realizar una aplicación que muestre información
de posicionamiento, basada en GPS, y de temperatura, tal que el
comportamiento de la misma se adapte al contexto tanto en lo
que se refiere a la orientación del dispositivo de presentación como
al idioma seleccionado por el usuario y al nivel de batería
disponible. La funcionalidad de dicha aplicación está ideada para que
pueda desarrollarse tomando como base las aplicaciones planteadas a lo largo de la guía asociada a este proyecto.
La aplicación tendrá las siguientes características:
- Habrá una primera pantalla inicial donde el usuario podrá elegir su apodo
y, una vez introducido, se lanzará la pantalla principal de la aplicación en la que aparecerá, entre otras cosas, dicho apodo.
- En esa pantalla principal se mostrará información de posicionamiento
y de temperatura.
- En cuanto a la información de posicionamiento, se mostrará
la longitud y latitud de cada lectura GPS recibida, así como
la distancia acumulada recorrida.
- Por lo que se refiere a la temperatura, se mostrará
la última lectura del sensor, así como la temperatura media.
- Se permitirá configurar las unidades de, al menos, una de las medidas,
usando para ello una tercera pantalla a la que se accederá desde la
pantalla principal.
Así, por ejemplo, se debe posibilitar que el usuario seleccione
si la temperatura se muestra en grados centigrados, kelvin o fahrenheit.
- Las lecturas de los sensores de temperatura y posicionamiento
se activarán y desactivarán a través de botones de diálogo (la
aplicación comenzará con ambas lecturas desactivadas).
Tanto la distancia acumulada como la
temperatura media se volverán a reiniciar cuando el usuario
explícitamente detenga las lecturas usando el botón.
- Cuando la aplicación pase a segundo plano, se desactivarán
temporalmente las lecturas de los sensores, recuperándose automáticamente al
volver a primer plano.
- Cuando la batería pase a un nivel crítico, para minimizar el
gasto, las lecturas de los sensores se desactivarán, reactivándose automáticamente en el momento que se recupere el estado de la misma.
- Recapitulemos sobre cómo se relacionan estos eventos entre sí:
- Para que estén activas las lecturas de los sensores se tienen que
cumplir las tres condiciones: que se haya pulsado el botón de activación,
que la batería tenga un nivel de energía adecuado y que la aplicación
esté en primer plano. Satisfaciéndose dos de estas condiciones, cuando
pasa a cumplirse la tercera, se activan las lecturas de los sensores.
- En cuanto se deje de cumplir una de esas condiciones, se detienen
las lecturas, en caso de que estuvieran activas.
- Se debe diseñar un layout alternativo para la orientación
landscape.
- Las cadenas de caracteres que usa la aplicación deben adaptarse
al idioma y alguna de las cadenas debería ser diferente en la
versión landscape que en la portrait, para ambos idiomas
(tal como se hace en el segundo ejemplo de la guía).
- El estado de la aplicación debe mantenerse ante un cambio de
orientación del dispositivo o un cambio del idioma.
Entrega de la práctica
La entrega se podrá hacer hasta el 26 de enero, mediante correo
electrónico al
profesor encargado, incluyendo en el mismo una dirección desde
donde descargar un fichero comprimido con el directorio completo
del proyecto Android junto con un fichero de texto (leeme.txt)
donde pueda incluir cualquier tipo de comentario o incidencia sobre
el desarrollo de la práctica.
Debe mantenerse accesible hasta que se publiquen las notas finales de la asignatura.