El documento describe el desarrollo de una plataforma de información geolocalizada para Android. Incluye un gestor de contenidos web para administrar la información y una aplicación Android para visualizarla en un mapa. La plataforma permite insertar, editar y previsualizar marcadores con datos como imágenes, audio y texto para ser mostrados a usuarios cuando se encuentren en una ubicación determinada. El sistema fue probado en diferentes dispositivos y navegadores y cumple con el objetivo de proporcionar información dinámica y flexible de forma accesible para
Residente de obra y sus funciones que realiza .pdf
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
1. Plataforma de información
geolocalizada para Android
Realizado por: Antonio López García
Dirigido por: Cristina Urdiales García
Departamento de Tecnología Electrónica – UNIVERSIDAD DE MÁLAGA
2. Introducción
Diseño del sistema
Gestor de contenidos
Aplicación Android
Pruebas y experimentos
Conclusiones y líneas futuras.
Índice
4. • 12,4 m de líneas de banda ancha en 2014.
• 80% posee un smartphone.
• 86% se conecta a diario.
• 43% posee una tablet.
• 78,4% tiene Android.
• 15,7% del PIB en España corresponde al turismo en
2013.
Introducción
5. Necesidad de un sistema de información:
• Flexible.
• Dinámico.
• Fácil gestión.
• Accesible a la mayoría de usuarios.
• Posible foco en el turismo.
Conclusión
Sistema de información geolocalizada para Android
Introducción
10. • Registro de usuario
• Recuperar
contraseña
• Iniciar sesión
Inicio
• Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones • Eliminar usuario
• Finalizar sesión
Finalizar
Gestor de contenidos web
Gestión de la base de datos.
11. Gestor de contenidos web
Gestión de la base de datos.
Lenguaje:
MySQL
• INSERT, UPDATE,
REMOVE
12. • Registro de usuario
• Recuperar contraseña
• Iniciar sesión
Inicio
Gestor de contenidos web
Lenguaje:
MySQL, PHP, HTML, CSS
13. • Registro de usuario
• Recuperar contraseña
• Iniciar sesión
Inicio
Gestor de contenidos web
14. • Registro de usuario
• Recuperar contraseña
• Iniciar sesión
Inicio
Gestor de contenidos web
15. • Registro de usuario
• Recuperar contraseña
• Iniciar sesión
Inicio
Gestor de contenidos web
16. Gestor de contenidos web
Lenguaje:
MySQL, PHP, HTML,
JavaScript
• Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
17. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
18. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
Búsquedas
19. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
Visualización de marcadores
20. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
21. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
22. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
Imagen almacenada
23. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
Audio previo
24. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
25. • Visualizar en mapa
• Insertar / Editar
• Pre-visualizar
Gestión de
localizaciones
Auido y texto
29. • Mapa
Inicialización
de la app
• Base de
datos
• Marcadores
Conexión al
servidor • Creación
• Avisos
Gestión de
geozonas
• Destrucción
de los
recursos
Finalización
Aplicación Android: Diseño
46. • Ejecución de código PHP e instrucciones SQL.
• Pruebas locales: XAMPP
• Pruebas servidor: Strato.es
• Distintos navegadores: Firefox, IE, Chrome, Safari
Pruebas: Gestor web
47.
48. • Pruebas módulos separados (mapa, conexión,
visualización, notificaciones…)
• Depuración a través de Eclipse.
• Prueba en distintos terminales y APIs (Galaxy II,
Nexus, Sony S, HTC)
• Simulación de señal GPS: Mock GPS Pro
Pruebas: Aplicación Android
49. • Aplicación turística.
• Prueba en distintos terminales y APIs (Galaxy II,
Nexus, Sony S, HTC)
• Simulación de señal GPS: Mock GPS Pro.
• Inserción y reproducción de material elaborado.
• Prueba in situ.
Pruebas: Sistema global
52. Gestor de contenidos
• Facilidad de gestión.
• Interfaz amigable.
• Flexibilidad en el contenido.
• Compatible con Chrome, Safari y Firefox.
Aplicación Android
• Estable.
• Compatible con la mayor parte de los dispositivos.
• Interfaz sencilla.
• Nulo coste para el usuario (depende de decisión).
Conclusiones
53. • Acceso offline a la información.
• Mejora en el diseño gráfico.
• Listado de localizaciones.
• Inclusión de vídeos.
• Integración con redes sociales.
• Realidad aumentada con marcas naturales.
Líneas futuras
54. Plataforma de información
geolocalizada para Android
Realizado por: Antonio López García
Dirigido por: Cristina Urdiales García
Departamento de Tecnología Electrónica – UNIVERSIDAD DE MÁLAGA
Notas do Editor
El objetivo de este proyecto consiste en crear un sistema que permita a una persona, con escasos conocimientos técnicos, la gestión de contenidos multimedia georeferenciados para una posterior visualización y/o reproducción en una aplicación Android.
En esta presentación se abordarán los siguientes puntos:
En la actualidad la información es cada vez más accesible, y las TIC cada vez están más al alcance de las personas, según diferentes fuentes que están citadas en la memoria:
Por lo tanto, se cree conveniente la creación de un sistema de información se muestre flexible y dinámico para adaptar y actualizar la información contenida, que su gestión no implique complicaciones técnicas y cualificación, que sea accesible a la mayor parte de los usuarios y que preste apoyo al sector que según los datos es el más influyente en la economía.
Como conclusión se cree en que una solución es la creación de un sistema de información geolocalizada para el sistema operativo Android.
El sistema utilizará un servidor web en el que alojar la base de datos que almacenará la información, la web que servirá gestor de contenidos, y una aplicación para Android que a través de internet accederá a este servidor. La aplicación podría descargarse de Play Store, lo que haría que esté fácilmente accesible a cualquier usuario de este sistema operativo. El terminal, a través de los sensores de geolocalización, hará que la aplicación modifique su comportamiento y avise al usuario de que se encuentra en ciertas posiciones.
Como se puede comprobar, el sistema consta de dos partes claras, muy diferenciadas y en cierto modo independientes. El gestor de contenidos web, a través del cual un administrador podrá añadir, editar o eliminar la información que se reproducirá en el dispositivo movil; y por otro lado la aplicación Android, la cual es única para todos los usuario y que descargará, según las especificaciones, la información que, a través del gestor de contenidos, el administrador a puesto a su disposición.
Nos centraremos primero en el gestor de contenidos.
Existen tres fases fundamentales en el gestor de contenidos:
- La inicial, en la que el usuario se registra, inicia la sesión y/o recupera la contraseña si la ha olvidado.
- La de gestión de contenidos, la cuál lleva el peso más importante. En esta fase de insertan, editan, visualizan y eliminan los contenidos.
- Y para finalizar, el cierre de sesión o la eliminación del usuario. Esta es la más sencilla, por lo que no se entrará en detalles, consiste en la eliminación de la base de datos de las entradas relacionadas con ese usuario.
Es muy importante la gestión de la base de datos, a la cual se accede en todas las fases por las que pasa el administrador.
Aún así la base de datos es sencilla, y solo cuenta con dos tablas, una relacionada con la información de usuarios, y otra relacionada con las localizaciones.
La tabla de usuarios tiene dos campos clave, user_ID y user_name.
La tabla de localizaciones tiene una clave principal, location_ID, el cual es numérico y se incrementa automáticamente; y una clave secundaria User_name correspondiente al campo de la tabla de usuarios.
Mencionar que los campos audio_file e image_file contienen los nombres de los archivos con su extensión, los cuales son un número y corresponde con location_ID.
Se ha utilizado MySQL para la base de datos, las únicas instrucciones necesarias han sido INSERT, UPDATE y REMOVE.
Las páginas correspondientes a la fase inicial han sido programadas en PHP y HTML, haciendo uso de CSS para mantener el estilo. La interfaz gráfica es sencilla, para hacer la navegación simple y cómoda.
En el registro de usuario se piden los datos que se almacenaran en la base de datos: nombre, contraseña, confirmación de contraseña e e-mail.
En caso de que el usuario quiera recuperar la contraseña tendrá que introducir el e-mail. Si existe, el sistema le enviará el e-mail con la contraseña a través un cliente de correo.
Una vez el usuario tiene nombre y contraseña, accede a través de la página de identificación.
En este momento ya puede comenzar a gestionar las localizaciones, a través del mapa inicial donde podrá buscar un lugar donde insertar una localización, editar o eliminar. Posteriormente insiertará o modificará la información y en el ultimo paso visualizará y comprobará que se ha almacenado correctamente.
El eje principal, por lo tanto, es un mapa de Google donde se mestran las localizaciones ya almacenadas y correspondientes únicamente a ese usuario. Es necesaria la implementación tanto en javascript como en php de esta API para su uso.
Las carácterísticas del mapa es la posibilidad de utilizar los controles…
…la barra de búsquedas y la pontente base de datos de Google…
…la actualización rápida de las localizaciones conforme se van insertando.
Desde aquí es desde donde se eligen las opciones de insertar (pulsando sobre un punto vacío del mapa), editar o eliminar (pulsando sobre un punto ya existente)
En el caso de insertar, se crea una entrada vacía en la taba de localizaciones. Si es una edición, se toma la entrada correspondiente a esa localización. En cualquier caso, posterormente se muestra por pantalla la información existente y un formulario a completar por el usuario.
Imagen almacenada en la base de datos previamente, si es una nueva localización se muestra “sin imagen” por defecto.
Se muestra un reproductor con el sonido almacenado anteriormente, si es una localización nueva no se puede reproducir nada ya que no hay sonido.
Si el usuario acepta y confirma los cambios, se almacena definitivamente la información en la base de datos y se muestra el resultado final. En caso de que el usuario no acepte o no complete los campos, no se realiza la modificación.
Posibilidad de reproducir el audio y visualizar el conjunto del texto.
La segunda parte del sistema corresponde a la Aplicación Android.
Android es un sistema operativo de código abierto. Está presente, como se ha dicho al comienzo de la presentación, en más de un 70% de los dispositivos (smartphones y tablets) a nivel mundial. Esta combinación hace que sea el entorno ideal para el desarrollo del sistema.
El entrono de desarrollo utilizado ha sido Eclipse, en el cual se ha instalado el plugin correspondiente al desarrollo de aplicaciones Android y el Android SDK.
Los lenguajes utilizados en el desarrollo de aplicaciones android son Java, para el código fuente principal, y XML, principalmente para los recursos y el archivo manifest, el cual contiene información básica de la aplicación como el nivel de API necesario, los permisos, y la firma de usuario.
Toda aplicación Android tiene inherente un ciclo de vida definido, y es importante conocerlo y estudiarlo para poder manejar el comportamiento de la app a través de los métodos definidos, según la fase en la que se encuentre.
La aplicación desarrollada consta de cuatro fases fundamentales a través de las cuales se completa tanto la implementación como la posterior experiencia de usuario.
Al inicar la app se inicializa el mapa de Google.
Posteriormente se conecta al servidor para descargar la información de la base de datos, crear los marcadores y las geozonas.
Esta creación de geozonas se ha catalogado en una tercera fase donde también se gestionan los avisos.
Para finalizar se destruyen los recursos para liberar memoria y salir de la aplicación. En esta fase no entraremos a más detalle durante esta presentación.
Al inicar la aplicación, se visualizará el mapa, inicalizando las variables y fijando una configuración inicial.
Aunque no lo consideramos dentro de la fase de inicalización del mapa, es necesaria la conexión al servidor para poder inicializar totalmente, y esto es añadiendo los marcadores de las localizaciones al mapa y configurándolos de modo que se les asocie una ventana de información.
En este momento del proceso de inicialización es donde ocurre la conexión al servidor, necesaria para que la aplicación tenga sentido y funcione correctamente.
Describir el cuadro sin entrar en detalles.Mencionar que a la vez que se crean los marcadores en el mapa, se crean las geozonas y se almacenan en memoria, lo cual es lo siguiente que se explica.
La geozona es una zona geográfica alrededor de un punto, nos referimos en el desarrollo del sistema a una geozona como una zona circular alrededor de un punto definido por el usuario a través del gestor de contenidos. Por lo tanto la geozona básicamente cuenta de una longitud, una latitud y un radio, que en la implementación de este sistema siempre ha sido el mismo para todas las geozonas: 50m.
Al iniciar la aplicación y conectar con el servidor, además de crear los marcadores, se crean las geozonas y se almacenan en una lista. Al activar los avisos, la aplicación enviará una notificación si el usuario entra en esa geozona.
Es necesario diferenciar entre geozonas.
En esta presentación llamamos geozona o geozona simple a lo explicado anteriormente, además de eso llevará asociado un título, un texto, una imagen y un video.
La API de Google identifica una geozona o “Geofence” como un punto geográfico (latitud y longitud), radio, tiempo de expiración y tipo de transición(es), siendo estas de entrada y salida. Cuando hablamos de activar rastreo, nos referimos a copiar la lista de geozonas simples en una lista de “geofences” de la API de Google para que las identifique como “Geofences”, indicándole además un tiempo casi infiinto y una transición de entrada. De esta forma el cliente llamará a un método específico si detecta la entrada en una de estas “Geofences”. Al desactivar el rastreo se vaciará esta lista de “Geofences” de la API, aunque el almacén ListaSimpleGeofences seguirá intacto.
La activación de estos avisos se realiza al inicio de la aplicación a través del cuadro de diálogo…
…o a través de las preferencias.
En caso de entrar en una “Geofence”, se reciben las notificaciones
Para visualizar la información asociada, se puede acceder ya sea al pulsar en la ventana de información del marcador, o sobre la notificación recibida.
Lo cual lanzará la actividad de información. Esta actividad recibirá el nombre de imagen (si lo hubiese), de audio (si lo hubiese), el titulo y el texto a mostrar. Con el nombre de imagen y audio formará las URLs necesarias para descargar esta información al terminal.
Esa descarga se realiza en segundo plano, evitando que la aplicación se bloquee momentaneamente, lo que es una molestia para el usuario, y mientras tanto se muestra el circulo de carga infinita.
Una vez la imagen se ha descargado se muestra por pantalla, y el usuario puede visionar la imagen…
… y/o reproducir el audio y leer el texto.
La segunda parte del sistema corresponde a la Aplicación Android.
Esta es una imagen de la base de datos con la incorporación sucesiva de entradas.
La segunda parte del sistema corresponde a la Aplicación Android.
El objetivo de este proyecto consiste en crear un sistema que permita a una persona, con escasos conocimientos técnicos, la gestión de contenidos multimedia georeferenciados para una posterior visualización y/o reproducción en una aplicación Android.