AUTOR: Pablo Iglesias Doforno TUTOR: Martín López Nores

Slides:



Advertisements
Presentaciones similares
Integrando Obras y Oficina
Advertisements

Internet y tecnologías web
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
DEPARTAMENTO DE EDUCACI Ó N SECRETAR Í A AUXILIAR DE SERVICIOS ACAD É MICOS Y SERVICIOS EDUCATIVOS A LA COMUNIDAD UNIDAD DE TECNOLOGÍA Y CURRÍCULO PROYECTO.
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Servicios Web.
"java del lado del servidor" Servlet y JSP Java Server Pages.
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Características generales de un servicio Web.
El portal de recursos electrónicos de la UAM
TECNOLOGÍAS PARA LA IMPLEMENTACIÓN DE INTERFACES DE USUARIO
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
CURSO DE OFIMATICA BASICA
Profesor: Miguel Angel Vidal
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Funcionalidad de una plataforma formativa Manuel Santiago Fernández Prieto Universidad Autónoma de Madrid.
Tecnologías para el desarrollo de aplicaciones Web
Igor Santos Grueiro. Ahora tenemos datos y datos …
Ingeniero Anyelo Quintero
¿Qué es Outlook? Barra de Outlook
DR. ERNESTO SUAREZ.
 LOPEZ MENDOZA CORINA AMALINALLI  GRUPO 304.  Una base de datos o banco de datos (en ocasiones abreviada BB.DD.) es un conjunto de datos pertenecientes.
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
InfoPath Ventajas y Uso.
1 ONLINE SHOP ‘09 Ainara Ortega Silvia Urdiain Carmen Moriones.
LabTIG – Facultad de Humanidades – Universidad Nacional del Nordeste Universidad Nacional del Nordeste Facultad de Humanidades CARRERA DE ESPECIALIZACION.
“Diseño de base de Datos Alquicira Jiménez Carolina 303
PRESENTA: ALICIA GONZÁLEZ INSTALACIÓN DE COMPONENTES EN JAVA.
Desarrollo de aplicaciones para ambientes distribuidos
DESARROLLO DE UNA APLICACIÓN MÓVIL PARA APOYAR AL TURISMO DEL CENTRO HISTÓRICO, UTILIZANDO REALIDAD AUMENTADA Y GEOLOCALIZACIÓN, PARA LA EMPRESA VLBS.
PROTOCOLO H T T P.
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Ing. Elkin José Carrillo Arias
INTRODUCCIÓN A AJAX. ¿Qué es AJAX? Acrónimo de Asynchronous JavaScript And XML No es ninguna tecnología, ni lenguaje de programación. Es una técnica de.
INTRODUCCIÓN A:.
FORMULAS ESTADISTICAS.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Carlos Fernández Durán Manuel Molina Menéndez Tutor: Miguel Gea Megías.
Cuentas de usuarios y grupos en windows 2008 server
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
Presentación de seguimiento del proyecto Equipo LSI 02 Resultados de la 1ª Iteración de Construcción.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Zavaleta Nolasco Karina Rechy Villareal Sandra Grupo:309 Equipo: 04 Profesora: Gabriela Pichardo.
Grupo: II - 2 Una red inalámbrica Es aquella que posibilita la conexión de dos o más equipos entre sí, sin que intervengan cables. A continuación se.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
VIDEOCONFERENCIA.
1 eGorilla – Arquitectura del Sistema Ingeniería del Software 4º B 2008/2009.
PARCIAL 1.
Ingeniería de Requisitos
Elementos Tipicos de las Interfaces Graficas de usuario.
Unidad 2: Tareas básicas de InfoPath 2010
PRESENTACION CON POWER POINT
Introducción a phpMyAdmin
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
SCOPE MX Móvil.. Herramientas de SCOPEmx móvil. La versión 2.0 de esta aplicación cuenta con distintas herramientas importantes para su buen desempeño,
Clase #3 de Access. Temario Consultas Consultas Creación y manejos de consultas Creación y manejos de consultas Macros Macros Relaciones Relaciones.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Movilidad y Aparcamientos: Hacia un Futuro Móvil e Inalámbrico TELVENT Junio 2008.
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
Integrantes Rodrigo Muñoz Patricia Suárez. UNIDAD 2 ELABORACION DE UNA BASE DE DATOS INTRODUCCION Access 2013 TEA 2104 ORGANIZACIÓN DE LA INFORMACION.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Introducción a phpmyadmin índice 1. Introducción 6. Insertar registros 5. Crear usuario para php 8. Modificar registros 2. Base de datos MySQL 3. Crear.
Transcripción de la presentación:

AUTOR: Pablo Iglesias Doforno TUTOR: Martín López Nores PROYECTO FIN DE CARRERA DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN ANDROID CON INTERFACES GRÁFICAS PARA INTRODUCCIÓN Y BÚSQUEDA DE RUTAS EN UN SERVICIO DE CONCERTACIÓN DE DESPLAZAMIENTOS EN VEHÍCULO COMPARTIDO A TRAVÉS DE INTERNET AUTOR: Pablo Iglesias Doforno TUTOR: Martín López Nores

Contexto y objetivos

Carpool Práctica de compartir el uso de un automóvil por dos o más personas. Menor consumo energético. Reducción congestión del tráfico. Mayor socialización. Portales Web: www.vao.es, www.rideshare.co.uk Hace falta un primer punto explicando en qué consiste el carpooling.

Proyecto Uvipool Servicio de concertación de desplazamientos en vehículo compartido a través de Internet. Mecanismos específicos para comprobar la realización de los acuerdos de compartición. Certificación de acuerdos con criptografía de clave pública. Geolocalización de terminales para mediación en conflictos y pago de compensaciones.

Objetivos del PFC Implementación de aplicación cliente para dispositivos móviles Android. Registro de usuarios. Funcionalidades para roles de conductor y pasajero. Interfaces para introducción y búsqueda de rutas. Implementación de lógica del servidor. Esquema completo de la base de datos. Primera aproximación a la búsqueda de rutas. Faltaba una diapositiva donde se enumeren claramente los objetivos específicos del PFC, no del proyecto Uvipool completo.

Diseño y tecnologías empleadas

Arquitectura MVC

Servlets Programas Java que se ejecutan en el servidor. Tareas asignadas a un Servlet. Los Servlets son una mejora al modelo anteriormente utilizado en la Web, CGI.

Json - Definición Json (JavaScript Object Notation) es un formato ligero de intercambio de datos. La simplicidad de Json ha dado lugar a ser la alternativa a XML. Mucho más sencillo escribir un analizador sintáctico. Utiliza convenciones que son ampliamente conocidos por los programadores de diferentes lenguajes. Gson, librería de Google de Json, con mejores métodos de serialización y deserialización.

Json - Estructura Json está constituido por dos estructuras: Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto. Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como vectores, listas, etc.

Android – elementos importantes Las Actividades (o Activities) son interfaces visuales que esperan alguna acción del usuario. Una aplicación puede tener una actividad o más. Para pasar de actividad en actividad, Android utiliza un elemento especial llamado Intent. Los recursos en Android son aquellos ficheros que pertenecen al proyecto.

Android – Interfaz de usuario (UI) Proporciona la interacción con el usuario. Los elementos que la componen son básicamente View o ViewGroups o cualquier clase que hereden de estas. Cada ViewGroup tiene la responsabilidad de medir el espacio disponible y asignárselo a las Views contenidas. Los ViewGroups más utilizados son los siguientes: FrameLayout. LinearLayout. AbsoluteLayout. RelativeLayout

Android- ViewGroups

Android – Elementos UI Uvipool TextView EditText Button ScrollView

Android – Elementos UI Uvipool Spinner Toast ProgressDialog ListView AlertDialog

Android – Elementos UI Uvipool Eventos: Notifican cualquier acción del usuario, ya sea pulsar una tecla, pulsar un botón, tocar un punto en la pantalla, etc. Eventos táctiles: onClick onLongClick onScroll

Android – Elementos UI Uvipool AsyncTask Clase específicamente creada para las actualizaciones asíncronas de la interfaz. Con esta clase se pueden hacer todas las modificaciones de la interfaz de manera segura para ella. Código más controlado y elegante.

Android – Elementos UI Uvipool AsyncTask (Métodos) onPreExecute: invocado dentro del hilo de la interfaz, justo antes de empezar la tarea. Es útil para actualizar la interfaz gráfica (por ejemplo, con una barra de progreso). doInBackground(Params...): invocado en un hilo distinto después del onPreExecute. Es donde se realiza el trabajo costoso. onPostExecute(Result): Se ejecuta en el hilo de ejecución de la interfaz al finalizar el trabajo.

Android – Elementos UI Uvipool Mapas Paquete com.google.android.maps incluido en el SDK de Android, que contiene las clases relacionadas con el rendering, control y dibujo sobre mapas. Clase MapView que automáticamente dibuja un mapa básico de Google Maps. Para poder obtener un MapView, se necesita previamente un API Key de Google Maps. Se ha de añadir el permiso en el AndroidManifest.xml dado que no es un paquete estándar de Android.

Android – Elementos UI Uvipool Mapas Se puede trabajar sobre la vista del mapa con la clase Overlay.

Escenarios de uso de la aplicación

Aplicación Uvipool - Cliente Entrando en la aplicación

Aplicación Uvipool – Cliente Insertar usuario Interfaz gráfica de entrada

Aplicación Uvipool – Cliente Insertar usuario AsyncTask: Recibe la URL del servidor. Devuelve un objeto Usuario. Adaptamos los datos para poder enviarlos: Realizamos un objeto HashMap con elementos clave/valor para poder serializar a Json que enviamos al servidor.

Aplicación Uvipool – Cliente Insertar usuario

Aplicación Uvipool – Cliente Inicio sesión

Aplicación Uvipool – Cliente Menú principal Esta compuesto por 4 pestañas. Introducción de rutas de usuario conductor. Introducción de rutas de usuario pasajero. Introducción de vehículos. Búsqueda de rutas. Archivo XML, elemento principal TabHost. Contenedor principal para albergar las pestañas. LinearLayout para distribuir verticalmente las secciones principales. Sección de la pestaña en la parte superior. Sección del contenido de la pestaña en la parte inferior.

Aplicación Uvipool – Cliente Menú principal

Aplicación Uvipool – Cliente Menú principal

Aplicación Uvipool – Cliente Introducción de rutas Similar tanto para el conductor como pasajero. Localizacion.java, clase para almacenar los valores de latitud y longitud que recibimos de Google Directions API. Casuística con dos AsyncTask: Una para conectarse a Google directions API. Otra para conectarse con el servidor. Para comunicarse con Google directions API utilizamos el método HTTP GET.

Aplicación Uvipool – Cliente Introducción de rutas

Aplicación Uvipool – Cliente Búsqueda de rutas Envío de datos al servidor similar a las anteriores. Utilización de dos AsyncTask, en la segunda recibimos un ArrayList. Spinner para seleccionar si usuario conductor o pasajero. Casuística diferente a las anteriores, no se introducen datos en la BBDD. Utilización de la clase Resultados.java., será la clase donde ubicaremos los datos de la respuesta del servidor. Mostrar los datos. ListView.

Aplicación Uvipool – Cliente Mostrar resultados

Aplicación Uvipool – Cliente Confirmación de ruta Una vez seleccionada la ruta se desecharán los resultados no seleccionados, y enviaremos al servidor un arrayList con los datos de la ruta seleccionada. Guardado los datos del pacto, se informa al usuario y se muestra el mapa.

Aplicación Uvipool - Servidor Conexión base de datos. Comprueba que exista o no el usuario(insertar o inicio sesión). Procesa las fechas para introducirlas en la BBDD. Se desconecta de la BBDD. Respuesta al cliente con los datos.

Pruebas

Pruebas Pruebas realizadas con varios usuarios tanto conductores como pasajeros. Para encontrar resultados positivos, había que obtener resultados de una tabla y con esos resultados obtener resultados de otra tabla, y así sucesivamente hasta llegar al usuario. Hora de partida de búsqueda -2 horas de la fecha introducida. Se han hecho pruebas tanto con peajes como sin ellos.

Conclusiones y trabajo futuro

Conclusiones (I) La compartición de vehículos comporta numerosas ventajas. Las nuevas tecnologías pueden promover decisivamente dicha práctica. En este proyecto se ha construido una primera versión funcional de aplicación móvil para el servicio Uvipool. Sin conocimiento previo de la mayoría, he llegado a manejar con fluidez todas las herramientas del entorno del proyecto.

Conclusiones (II) Sobre Android: Sobre Servlets: Facilidad absoluta a la hora de programar interfaces gracias a sus recursos XML. Gran disponibilidad de recursos integrables en las aplicaciones. Potencia de las AsyncTask. Sobre Servlets: Potencia y facilidad de uso. Simplicidad en las comunicaciones. Relación servlets – BBDD. MVC. El uso de puntos finales no es consistente a lo largo de toda la presentación. Twitter está mal escrito. Añade diapositiva de fin.

Trabajo futuro Incorporación de mecanismos de red social de usuarios. Posible integración con Twitter y Facebook. Integración de pasarela de pagos para formalizar intercambios monetarios. Estudio de nuevos mecanismos de identificación de posibilidades de compartición de vehículos. Opciones de variación sobre las rutas predeterminadas. Límites de demora y desvío. Implementación de aplicación iOS.

Fin