• Like
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)

  • 130 views
Published

Sistema de desarrollo de aplicaciones (app) Android para ofrecer información turística multimedia cuando el usuario llega a un punto en particular.

Sistema de desarrollo de aplicaciones (app) Android para ofrecer información turística multimedia cuando el usuario llega a un punto en particular.

Published in Engineering
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
130
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 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.

Transcript

  • 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
  • 3. Introducción
  • 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
  • 6. Diseño del sistema
  • 7. Diseño del sistema
  • 8. Diseño del sistema Gestor de contenidos Aplicación Android
  • 9. Gestor de contenidos web
  • 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
  • 26. Aplicación Android
  • 27. Aplicación Android: Programación Entorno de desarrollo Eclipse Android SDK Lenguajes: • Java – Código fuente. • XML – Recursos, Manifest
  • 28. Aplicación Android: Programación
  • 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
  • 30. Aplicación Android: Inicialización Mapa Inicialización de la app
  • 31. Aplicación Android: Inicialización Mapa Inicialización de la app
  • 32. Aplicación Android: Inicialización • Base de datos • Marcadores Conexión al servidor
  • 33. Aplicación Android: Conexión • Base de datos • Marcadores Conexión al servidor
  • 34. Aplicación Android: Geozonas • Creación • Avisos Gestión de geozonas
  • 35. Aplicación Android: Geozonas • Creación • Avisos Gestión de geozonas
  • 36. Aplicación Android: Geozonas • Creación • Avisos Gestión de geozonas
  • 37. Aplicación Android: Geozonas • Creación • Avisos Gestión de geozonas
  • 38. Aplicación Android: Geozonas • Creación • Avisos Gestión de geozonas
  • 39. Aplicación Android: Geozonas • Creación • Avisos Gestión de geozonas
  • 40. Aplicación Android: Información
  • 41. Aplicación Android: Información
  • 42. Aplicación Android: Información
  • 43. Aplicación Android: Información
  • 44. Aplicación Android: Información
  • 45. Pruebas y experimentos
  • 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. • 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
  • 48. • 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
  • 49. Pruebas: Sistema global Posición del usuario en el mapa Visualización de información Recepción de notificación
  • 50. Conclusiones y líneas futuras
  • 51. 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
  • 52. • 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
  • 53. 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