Aplicaciones para dispositivos móviles
Full text
Autor: Felipe Luis Martínez González Director: Antonio Martí Campoy Año 2010-2011 PFC APLICACIONES PARA DISPOSITIVOS MÓVILES FELIPE LUIS MARTÍNEZ GONZÁLEZ
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González AGRADECIMIENTOS En primer lugar agradecer a mis padres, Felipe y Ana, por todos los esfuerzos realizados para que pudiera llegar a este punto y por guiarme en los momentos que más lo necesitaba. A Mireia por transmitirme su constancia y estar siempre a mi lado dándome su apoyo y cariño. A Antonio, tutor del proyecto, por la confianza depositada en mí para la realización del presente proyecto. También agradecerle las horas de atención dedicadas y toda la ayuda prestada.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González ÍNDICE 1. Introducción 1.1. PDA’s 1.2. Smartphones 1.3. El Sistema de Posicionamiento Global (GPS) 2. Marco 2.1. Symbian OS 2.2. Android 2.3. iOS 2.4. BlackBerry OS 2.5. Windows Phone 3. Objetivos del PFC 4. Descripción de la solución 4.1. Primera aproximación. Diagrama de bloques 4.2. Métodos y funciones 5. Herramientas utilizadas 6. Manual de usuario 7. Futuras líneas de trabajo 8. Bibliografía
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 1 INTRODUCCIÓN Un dispositivo móvil es un aparato de pequeño tamaño, con algunas capacidades de procesamiento, alimentación autónoma, con conexión permanente o intermitente a una red, con memoria limitada, diseñados específicamente para una función, pero que pueden llevar a cabo otras funciones más generales . Dado el variado número de niveles de funcionalidad asociado con dispositivos móviles, en el 2005, T38 y DuPont Global Mobility Innovation Team propusieron los siguientes estándares para la definición de dispositivos móviles: Dispositivo Móvil de Datos Limitados (Limited Data Mobile Device): dispositivos que tienen una pantalla pequeña, principalmente basada en pantalla de tipo texto con servicios de datos generalmente limitados a SMS y acceso WAP. Un típico ejemplo de este tipo de dispositivos son los teléfonos móviles Dispositivo Móvil de Datos Básicos (Basic Data Mobile Device): dispositivos que tienen una pantalla de mediano tamaño, (entre 120 x 120 y 240 x 240 pixels), menu o navegación basada en íconos por medio de una "rueda" o cursor, y que ofrecen acceso a e-mail, lista de direcciones, SMS, y un navegador web básico. Un típico ejemplo de este tipo de dispositivos son las BlackBerrys y los Teléfonos Inteligentes Dispositivo Móvil de Datos Mejorados (Enhanced Data Mobile Device): dispositivos que tienen pantallas de medianas a grandes (por encima de los 240 x 120 pixels), navegación de tipo stylus, y que ofrecen las mismas características que el "Dispositivo Móvil de Datos Básicos" (Basic Data Mobile Devices) más aplicaciones nativas y aplicaciones corporativas usuales, en versión móvil. Este tipo de dispositivos incluyen el sistema operativo como Windows Mobile, Android, iPhone OS…
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 1.1. PDA’s Una PDA (del inglés Personal Digital Assistant (asistente digital personal)), es una computadora de mano originalmente diseñada como agenda electrónica con un sistema de reconocimiento de escritura. Hoy día (2011) estos dispositivos pueden realizar muchas de las funciones de una computadora de escritorio pero con la ventaja de ser portátil. La primera mención formal del término y concepto de PDA es de 1992 cuando la compañía Appel presento el Apple Newton, un aparato que pese a contar con las características de una PDA moderna (pantalla sensible al tacto, conexión a una computadora para sincronización, interfaz de usuario especialmente diseñada para el tipo de máquina, conectividad a redes vía módem y reconocimiento de escritura) fue un fracaso para la compañía debido a los diferentes problemas: la tecnología estaba poco desarrollada y el reconocimiento de escritura en la versión original era bastante impreciso, entre otros. Aun así, el Apple Newton sentó las bases de las PDA’s modernas. Inicialmente los PDAs incluían aplicaciones estrictamente relacionadas con su función como agenda electrónica, es decir, se reducían a calendario, lista de contactos, bloc de notas y recordatorios. Con el paso de tiempo han ido evolucionando hasta los dispositivos actuales que ofertan un rango mucho más extendido de aplicaciones, como juegos, acceso al correo electrónico o la posibilidad de ver películas, crear documentos, navegar por Internet o reproducir archivos de audio. Cabe destacar la aparición de la empresa Palm, Inc. en 1995 que propició una etapa de crecimiento y desarrollo de las PDA’s Las características de la PDA moderna son pantalla sensible al tacto, conexión a una computadora para sincronización, ranura para tarjeta de memoria, y al menos Infrarrojo, Bluetooth o WiFi. Las PDAs de hoy en día traen multitud de comunicaciones inalámbricas (Bluetooth, WiFi, IrDA, GPS,) que los hace tremendamente atractivos. La llegada de los teléfonos inteligentes o Comunicadores (híbridos entre PDA y teléfono móvil) supuso para el mercado, por un lado, la entrada de nuevos competidores y, por otro, la incorporación a éste de usuarios avanzados de móviles. Hoy en día la mayoría de los PDAs son smartphones.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 1.2 Smartphones El teléfono inteligente (smartphone en inglés) es un término comercial para denominar a un teléfono móvil que ofrece más funciones que un teléfono común. Casi todos los teléfonos inteligentes son móviles que soportan completamente un cliente de correo electrónico con la funcionalidad completa de un organizador personal. Una característica importante de casi todos los teléfonos inteligentes es que permiten la instalación de programas para incrementar el procesamiento de datos y la conectividad. Estas aplicaciones pueden ser desarrolladas por el fabricante del dispositivo, por el operador o por un tercero. El término "Inteligente" hace referencia a cualquier interfaz, como un teclado QWERTY en miniatura, una pantalla táctil (lo más habitual, denominándose en este caso "teléfono móvil táctil"), o simplemente el sistema operativo móvil que posee, diferenciando su uso mediante una exclusiva disposición del menú, teclas, atajos, etc. Entre otras características comunes está la función multitarea, el acceso a Internet,a los programas de agenda, a una cámara digital integrada, administración de contactos, y algunos programas de navegación así como poder trabajar con documentos en diferentes formatos. Todos los smartphones deben contar con un S.O. que los provea de características similares a las de un computador. Aunque esta característica les hace ser vulnerables a virus y ataques al SO, tal como sucede en la actualidad con los equipos portátiles o de escritorio. 1.3 El Sistema de Posicionamiento Global (GPS) El GPS (Global Positioning System: sistema de posicionamiento global) o NAVSTAR-GPS es un sistema global de navegación por satélite (GNSS) que permite determinar en todo el mundo la posición de un objeto, una persona, un vehículo o una nave, con una precisión hasta de centímetros (si se utiliza GPS diferencial), aunque lo habitual son unos pocos metros de precisión. El sistema fue desarrollado, instalado y actualmente operado por el Departamento de Defensa de los Estados Unidos de America. Este sistema está constituido por tres segmentos: 1. El segmento espacial: que consiste en una constelación nominal formada por 24 satélites en órbita sobre el globo, a 20.200 km, que transmiten señales
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Actualmente Symbian cuenta con seis interfaces de usuario para su sistema operativo: Serie 60: la cual incluye también las interfaces N-Series y E-Series. El software S60 es un estándar multiventa para terminales smartphone que soporta aplicaciones desarrolladas mediante Java MIDP, C++ y Python. Las principales características de los terminales con esta interfaz son: o La resolución de pantalla originalmente fue de 176x208 píxeles pero posteriores actualizaciones hicieron que la plataforma soportara multiples resoluciones: básica(176x208), QVGA(240x320) y Doble (352x416). o Soporta aplicaciones JavaMIDP 2.0, Symbian, C++, flash y python. Serie 80: es una interfaz orientada al mundo empresarial o profesional. Sus principales características son: o Soporte para edición de documentos en los formatos mas populares. o Teclado QWERTY copleto o Raton integrado para la navegación. o Soporte para SSL/TLS o Navegador completo basado en Opera o Soporte para redes privadas virtuales VPN Serie 90: solo usada para el modelo nokia 7710. Esencialmente, la serie 90 es una evolución de la interfaz Psion Eikon. Esta interfaz se controla principalmente con una pantalla táctil. UIQ. Usada principalmente por Sony-Ericson y Motorola, desarrollada por UIQ Technology MOAP. Usada por algunos móviles 3G de NTT-Docomo Desarrollo y programación: Originalmente era software propietario pero cambio a software abierto. Esto implica que cualquiera pueda bajar el kit de desarrollo o SDK (Software Development Kit) y programar una aplicación. Actualmente el SDK de Symbian permite desarrollar aplicaciones en los siguientes lenguajes: Qt, C++, Java™. Como plataforma de desarrollo se puede utilizar cualquiera que soporte dichos lenguajes, añadiendo la referencia al SDK. 2.2 Android Android es un sistema operativo basado en Linux y orientado a dispositivos móviles, como teléfono inteligente y tablets. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en el 2005.[Es el principal producto de la
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una cuota de mercado de 43,6% en el tercer trimestre. Android tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, existen cerca de 200.000 aplicaciones disponibles para Android. Android Market es la tienda de aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los programas están escritos en el lenguaje de programación Java. Características y especificaciones actuales: Plataforma adaptable a pantallas más grandes, VGA, librería de gráficos 2D, librería de gráficos 3D basada en las especificaciones de la OpenGL ES 2.O. Almacenamiento en base de datos QLite Conectividad: Android soporta las siguientes tecnologías de conectividad: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX. Mensajería: SMS, MMS y la Android Cloud to Device Messaging Framework (C2DM) Navegador web: El navegador web basado en Google Chrome. Soporte de Java: El código Java se compila en el ejecutable Dalvik y corre en la Máquina Virtual Dalvik. Dalvik es máquina virtual especializada diseñada específicamente para Android y optimizada para dipositivos móviles que funcionan con batería y que tienen memoria y procesador limitados. Soporta la mayoría de los formatos multimedia estándar. Soporte para streaming Soporte para hardware adicional como cámara de fotos, de video, pantallas táctiles, GPS, etc… Soporta tethering, el cual permite al teléfono ser usado como un punto de acceso para permitir a un computador portátil usar la conexión 3G. Desarrollo y programación: Android, al contrario que otros sistemas operativos para dispositivos móviles como iOS o Windows Phone, se desarrolla de forma abierta y se puede acceder tanto al código fuente como al listado de incidencias donde se pueden ver problemas aún no resueltos y reportar problemas nuevos.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González El que se tenga acceso al código fuente no significa que se pueda tener siempre la última versión de Android en determinado móvil, porque el código para soportar el hardware (controladores) de cada fabricante normalmente no es público, así que faltaría un «trozo» básico del firmware para poder hacerlo funcionar en dicho terminal, y porque las nuevas versiones de Android suelen requerir más recursos, por lo que los modelos más antiguos quedan descartados por razones de memoria (RAM), velocidad de procesador, etc. En la actualidad existen más de 200.000 aplicaciones para Android y se estima que sobre 300.000 dispositivos móviles con sistema operativo Android se activan diariamente. La tienda de aplicaciones Android conocida como «Android market» retribuye a los desarrolladores el 70% del precio de su aplicación. Asimismo, el desarrollo de aplicaciones para Android no requiere aprender lenguajes complejos de programación. Todo lo que se necesita es conocimiento aceptable de Java y estar en posesión del kit de desarrollo de software o «SDK» provisto por Google el cual, se puede descargar gratuitamente. 2.3 iOS iOS (anteriormente denominado iPhone OS) es un sistema operativo móvil de Apple desarrollado originalmente para el iPhone, siendo después usado en el iPod Touch e iPad. Es un derivado de Mac OS X, que a su vez está basado en Darwin BSD. El iOS tiene 4 capas de abstracción: la capa del núcleo del sistema operativo, la capa de "Servicios Principales", la capa de "Medios de comunicación" y la capa de "Cocoa Touch". Todo el sistema se encuentra en la partición "/root" del dispositivo, ocupa poco menos de 500 megabytes. La versión actual del sistema operativo móvil de Apple es el iOS 4.2 Características y especificaciones actuales: Interfaz de usuario intuitiva, basada en una pantalla multitáctil y un conjunto de componentes hardware internos (acelerómetros y giroscopios) que permiten interactuar con el s.o. realizando gestos comunes como mover el aparato para deshacer o rehacer, rotarlo para girar la imagen, deslizar el dedo para moverse por los diferente menus y aplicaciones, etc.. Una pantalla principal (llamada “SpringBoard”) donde están ubicados los iconos de las aplicaciones.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Una pantalla de estado situada en la parte superior para mostrar datos, tales como la hora, el nivel de batería o la intensidad de la señal. Soporte para mensajería SMS y MMS Cliente de correo (Mail) Navegador web (Safari) Soporte para videoconferencia Soporte para la mayoría de los formatos multimedia estándar. Aunque cabe destacar que iOS no soporta Adobe Flash y Java. Soporte para HTML5 Soporte multitarea únicamente para aplicaciones por defecto del sistema para prevenir el consumo excesivo de batería y mantener el rendimiento. A partir de la versión 4 se permite el uso de siete API’s multitarea para aplicaciones de terceros: audio en segundo plano, VOIP, localización en segundo plano, notificaciones push, notificaciones locales, completado de tareas y cambio rápido de aplicaciones. Desarrollo y programación: El iOS ofrece como medio de desarrollo el kit iPhone SDK con el objetivo de permitir a terceros desarrollar aplicaciones nativas para el iOS. Fue liberado en Febrero del 2008 y solo está disponible para Mac OS X. El lenguaje de programación principal es el Objective-C, un lenguaje orientado a objetos basado en C. El SDK se puede descargar gratis, pero para publicar el software es necesario registrarse en el Programa de Desarrollo del iPhone, un paso que requiere el pago y la aprobación por parte de Apple. Durante el proceso, se entregan al desarrollador unas claves firmadas que permiten subir una aplicación a la tienda de aplicaciones de Apple. Las aplicaciones pueden ser distribuidas a través de la App Store de Apple, por parte de una empresa a sus empleados, o sobre una red “Ad-hoc” de hasta 100 iPhones. Los desarrolladores de aplicaciones para iOS pueden determinar el precio (con un mínimo de 0,99 dólares) quedándose el 70% del dinero que produzca la aplicación, el 30% restante se lo quedaría la compañía. Los desarrolladores también pueden optar por ofrecer sus aplicaciones gratis y no pagar así nada por la distribución del programa más allá de la cuota de socio.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 2.4 Blackberry OS El BlackBerry OS es un sistema operativo móvil desarrollado por Research in Motion para sus dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles. Su desarrollo se remonta la aparición de los primeros handheld en 1999. Estos dispositivos permiten el acceso a correo electrónico, navegación web y sincronización con programas como Microsoft Exchange o Lotus Notes aparte de poder hacer las funciones usuales de un teléfono móvil. La versión actual del sistema operativo es Blackberry 6 un sistema que estará enfocado al mercado corporativo y no-corporativo. El sistema está pensado principalmente para ser usado con pantallas táctiles aunque los equipos que presenten un TouchPad también podrán ejecutarlo. RIM en el desarrollo de este OS se enfocó en la parte multimedia hacia el usuario, sin dejar a un lado la parte profesional, también se muestra la integración de las redes sociales y la mensajería instantánea en este. Características y especificaciones actuales: Gestor de correo electrónico y agenda compatible con Microsoft Exchange Server, Lotus Notes y Novell GroupWise. BlackBerry Enterprise Server, que proporciona el acceso al mail de grandes compañías. BlackBerry Internet Service, que proporciona acceso a internet y correo para usuarios particulares. Navegador con tecnología WebKit Integración con redes sociales (facebook, twitter, myspace) y clientes de mensajería instantánea (blackberry Messenger y Windows Live) Soporte para Wi-Fi Multiple lista de contactos Soporte para lectura de código de barras 1D/2D Reconocimiento del rostro
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Desarrollo y programación: Los desarrolladores independientes pueden crear programas para BlackBerry pero en el caso de querer tener acceso a ciertas funcionalidades restringidas necesitan ser firmados digitalmente para poder ser asociados a una cuenta de desarrollador de RIM. BlackBerry OS soporta diferentes plataformas de desarrollo: BlackBerry Tablet OS Application Development, kit de desarrollo para el nuevo tablet de BlackBerry. Desarrollo web para Blackberry, ideal para quienes se inician en la programación para este sistema operativo. Está basado en HTML y AJAX BlackBerry Theme Studio para crear temas, graficos y contenidos animados. Programacion basada en Java usando MIDP 2.0 y CLDC 1.1 o con la librerías sumistrada por RIM. Posibilidad de usar cualquier entorno de programación para Java como Eclipse o NetBeans. 2.5 Windows Phone Windows Phone, anteriormente llamado Windows Mobile es un sistema operativo móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos inteligentes (Smartphones) y otros dispositivos móviles. Windows Phone hace parte de los sistemas operativos con interfaz natural de usuario. Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente. Además, existe una gran oferta de software de terceros disponible para Windows Mobile, la cual se puede adquirir a través de Windows Marketplace for Mobile. Originalmente apareció bajo el nombre de Pocket PC, como una ramificación de desarrollo de Windows CE para equipos móviles con capacidades limitadas. En la actualidad, la mayoría de los teléfonos con Windows Mobile vienen con un estilete digital, que se utiliza para introducir comandos pulsando en la pantalla. Windows Mobile ha evolucionado y cambiado de nombre varias veces durante su desarrollo, siendo la última versión la llamada Windows Phone 7. Versiones de Windows Phone: Pocket PC 2002
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Windows Mobile 2003 Windows Mobile 2003 Second Edition (lanzada en 2004) Windows Mobile 5.0 (lanzada en 2005) Windows Mobile 6 (lanzada en 2007) Windows Mobile 6.1 (lanzada en 2008) Windows Phone 6.5 (lanzado en 2009) Windows Phone 7 (lanzado en 2010) Características y especificaciones actuales: Interfaz grafica intuitiva, con ventanas vivas. Pantalla táctil Integración con redes sociales Soporte para los formatos multimedia más comunes. Soporte para Xbox Live Conectividad: Bluetooth, Wi-Fi Mensajería: SMS, MMS Navegador web: Internet Explorer Soporte para streaming Soporte para hardware adicional de terceros como cámara de fotos, de video, pantallas táctiles, GPS, etc… Desarrollo y programación: El actual proyecto se va a desarrollar sobre el sistema operativo Windows Mobile 6 (en cualquiera de sus versiones). Para este sistema existe un kit de desarrollo para la plataforma Visual Studio .NET (Windows Mobile 6 SDK). Existen dos versiones del kit de desarrollo: Windows Mobile 6 Standard SDK o Windows Mobile 6 Standard (176x220 pixels - 96 dpi) o Windows Mobile 6 Standard Landscape QVGA (240x320 pixels - 131 dpi) o Windows Mobile 6 Standard QVGA (320x240 pixels - 131 dpi) Windows Mobile 6 Professional SDK o Windows Mobile 6 Classic (240x320 pixels - 96 dpi) o Windows Mobile 6 Professional (240x320 pixels - 96 dpi)
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González o Windows Mobile 6 Professional Square (240x240 pixels - 96 dpi) o Windows Mobile 6 Professional Square QVGA (320x320 pixels - 128 dpi) o Windows Mobile 6 Professional Square VGA (480x480 pixels - 192 dpi) o Windows Mobile 6 Professional VGA (480x640 pixels - 192 dpi) Ambos kits son gratuitos, sin embargo, la plataforma de desarrollo Visual Studio . NET es de pago. Actualmente, y debido al acuerdo existente entre la Universidad Politécnica de Valencia y Microsoft, cualquier miembro de esta puede usar software de Microsoft de forma gratuita solo con fines docentes.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 3 OBJETIVOS DEL PFC El objetivo inicial del proyecto es implementar una aplicación para dispositivos móviles basados en el sistema operativo Windows Mobile que haciendo uso del dispositivo GPS (sistema de posicionamiento global) obtenga y almacene datos sobre la posición, velocidad, origen y destino de cada ruta que se realice. Esta aplicación estará orientada principalmente a usuarios que practiquen deportes como senderismo o ciclismo que necesiten recordar datos sobre las rutas realizadas en la práctica de los mismos. Aunque debido a sus características generales podrá ser utilizada por cualquier usuario que necesite de sus funcionalidades en un momento dado. La aplicación desarrollada estará claramente diferenciada en dos partes, atendiendo al recurso hardware del terminal que utilizan. La aplicación estará basada en el receptor del sistema de posicionamiento global (GPS) y deberá satisfacer las siguientes necesidades: Conectar con el receptor GPS y obtener las coordenadas actuales. Calculo de la velocidad actual a partir de las coordenadas obtenidas. Calculo de la velocidad media, velocidad máxima y distancia recorrida, en un intervalo de tiempo marcado por el usuario (ruta). Almacenamiento en la memoria del dispositivo de las diferentes rutas Aparte de los objetivos arriba indicados la aplicación debe cumplir una serie de requisitos generales que garanticen el buen funcionamiento de esta en la mayor cantidad posible de dispositivos móviles. Los requisitos son: Minimizar el consumo de recursos ya que se trata de una aplicación que correrá en dispositivos con una cantidad de memoria baja tanto fija como volátil. Que sea adaptable a cualquier dispositivo que cumpla los requisitos mínimos (hardware integrado, sistema operativo, etc.) Que se pueda modificar/ampliar fácilmente para añadir características nuevas o mejorar las existentes
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Finalmente se añadirá al fichero xml cargado en memoria el nodo de la ruta y se sobrescribirá el fichero Rutas.xml. Figura 3. Guardar ruta en fichero XML Gestión de rutas Adicionalmente, el usuario podrá gestionar las rutas guardadas desde la propia aplicación. En la pantalla de Gestión de rutas se podrán visualizar todas las rutas almacenadas en el fichero xml, ver los datos almacenados y eliminarlas. El procedimiento será muy similar a guardar una ruta. La aplicación cargará en memoria el fichero rutas.xml y recorrerá todos los nodos buscando cada ruta guardada rellenando el listview: lvRutas.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Al apretar en eliminar, el sistema borrara el nodo seleccionado y sobrescribirá el fichero xml. Figura 4. Gestión de rutas 4.2 Segunda aproximación En este punto se muestra el diseño de las clases que implementarán la programación del sistema de GPS. Estas clases serán las responsables de la recepción de datos del GPS y gestión de las rutas. En la figura 5 se muestra el diagrama de clases asociado.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Figura 5. Diagrama de clases En las siguientes tablas se muestra el detalle y la descripción para cada uno de los métodos trascendentes de las clases indicadas en la figura 5.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GPS METODO: iniciarGPS Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Si el receptor GPS está apagado: inicia el GPS en el puerto seleccionado (comprobando que exista un receptor GPS conectado), inicia el temporizador (bucle principal) y pone a cero todos los contadores. Si el receptor GPS esta encendido: cierra el puerto COM y habilita de nuevo el botón para iniciar el GPS CLASE: GPS METODO: iniciarRuta Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Pone los contadores a cero, guarda la fecha, hora y coordenadas del inicio de la ruta en las variables correspondientes. Cambia la variable boolean enRuta a TRUE, permitiendo guardar los datos relativos a la ruta actual.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GPS METODO: ObtenerGPGGA Función Privada ENTRADAS: Datos: String SALIDAS: String() PROCESO: A partir de una cadena de datos, busca la línea que inicie con la cabecera “$GPGGA” y devuelve un vector con dicha cadena separando cada dato. Si no encuentra la cadena lanza una excepción CLASE: GPS METODO: calculaDatosRuta Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: A partir de la longitud y latitud calcula los kilómetros recorridos, la velocidad actual, velocidad media y velocidad máxima. Guarda los datos en las variables globales correspondientes
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GPS METODO: gpsRecibiendo Función Privado ENTRADAS: SALIDAS: Boolean PROCESO: Indica si los datos recibidos por el receptor GPS son válidos. Devuelve TRUE si en la sentencia GPGGA leída el campo FIX QUALITY no es 0. Devuelve FALSE si el campo FIX QUALITY es 0 (señal no valida) o si hay error al leer la sentencia. CLASE: GPS METODO: DistanciaEntreDosPuntosEnKm Función Privado ENTRADAS: Latitud1,Longitud1,Latitud2,Longitud2: Double SALIDAS: Double PROCESO: Dadas dos coordenadas en grados, devuelve la distancia entre ambas expresada en km.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GPS METODO: CoordenadasAGrados Función Privado ENTRADAS: Coor:String SALIDAS: Double PROCESO: A partir de un coordenada recibida de un receptor GPS, obtiene un double con la coordenada expresada en grados. CLASE: GPS METODO: resetearContadores Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Pone todos los contadores de la ruta actual a 0.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GPS METODO: guardarRutas Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Muestra un cartel que pregunta al usuario si desea guardar la ruta actual. Si responde afirmativamente inicia el procedimiento para guardar la ruta actual. CLASE: GPS METODO: guardaRutaActual Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Abre o crea el fichero Rutas.xml en el directorio raíz y añade la ruta actual como un nuevo nodo del árbol XML
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GPS METODO: autodetectarGPS Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Procedimiento que busca el puerto COM donde está conectado el receptor GPS. Busca secuencialmente en los puertos COM del dispositivo móvil, mostrando si el puerto está abierto o no, y si tiene un receptor GPS conectado. Si encuentra un receptor GPS avisa al usuario. CLASE: GestionRutas METODO: DimeelementoSeleccionadoLV Función Privado ENTRADAS: LView: ListView SALIDAS: Integer PROCESO: Dado un List view indica el índice del elemento seleccionado. Si no hay ningún elemento seleccionado devuelve -1
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González CLASE: GestionRutas METODO: eliminarRuta Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Elimina el nodo de la ruta seleccionada del fichero Rutas.xml. CLASE: GestionRutas METODO: verDetalleRuta Procedimiento Privado ENTRADAS: SALIDAS: PROCESO: Muestra la pantalla con los todos los datos guardados de la ruta seleccionada en el List view
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 6 MANUAL DE USUARIO Primeros pasos Instalación del programa: El proceso de instalación de GPS PFC es rápido y sencillo. En este apartado aprenderá a realizar la instalación del sistema con unos sencillos pasos: 1) Conecte su dispositivo móvil al ordenador a través de cualquier tipo de conexión permitida (cable, wifi, bluetooth…). 2) Copie el archivo GPSPFC.cab a su dispositivo y ejecútelo desde este para iniciar la instalación.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 3) Seleccione el lugar donde se instalará la aplicación. 4) Cuando aparezca la siguiente pantalla el programa estará instalado.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Puesta en marcha: Una vez finalizado el proceso de instalación el programa será accesible en la carpeta predeterminada para los programas. 1) Acceda a InicioProgramas y ejecute el programa.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 2) El programa se iniciará mostrando la pantalla principal Receptor GPS Pantalla principal La pantalla principal del programa tiene el siguiente aspecto.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González En la parte superior aparece un indicador de los satélites detectados y las opciones para seleccionar el puerto COM sobre el que trabaja el GPS. En la parte central encontramos la pantalla de estado donde podremos leer los mensajes de la aplicación En la zona inferior tenemos el botón para salir de la aplicación y el menú desde al que accederemos a todas las opciones. Configuración inicial La configuración del sistema es muy sencilla, bastará con indicar sobre qué puerto COM está trabajando nuestro receptor GPS. Para esto tenemos dos opciones: 1) Si conocemos el puerto lo seleccionamos en el desplegable.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 2) Si no conocemos el puerto o no estamos seguros podemos usar el botón de búsqueda automática. El sistema buscará en los puertos del dispositivo e ira indicando en la pantalla de estado, para cada puerto, si está abierto y si hay en él un dispositivo GPS. Si encuentra el receptor GPS seleccionara automáticamente el puerto correcto. Obtener coordenadas Una vez tenemos seleccionado el puerto COM apropiado podemos empezar a obtener los datos del receptor GPS. Para ello basta con apretar en Menú Iniciar GPS.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Si todo ha ido bien el programa mostrará la posición actual (latitud y longitud) y el número de satélites encontrados.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Si hemos seleccionado manualmente el puerto COM y este no es correcto, nos aparecerá un mensaje advirtiéndonos de que no hay ningún dispositivo GPS en el puerto seleccionado.
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González Iniciar ruta Para iniciar la grabación de una ruta nueva debemos pulsar el botón “Iniciar ruta”, el cual estará activo únicamente si se está recibiendo una posición de GPS valida. Una vez pulsado el programa mostrará los datos significativos que se están almacenando: velocidades, kilómetros recorridos, máximos, etc…
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González
PFC Aplicaciones para dispositivos móviles Felipe Luis Martínez González 9 BIBLIOGRAFÍA http://www.wikipedia.es http://www.wikipedia.com http://www.forum.nokia.com http://blogs.upv.es http://programaciontotal.blogspot.com http://www.progtalk.com http://mx.answers.yahoo.com/ http://home.mira.net/~gnb/gps/nmea.html http://www.cincodias.com http://developer.android.com/index.html http://developer.apple.com/iphone http://us.blackberry.com/developers/ http://www.gps.gov http://www.todopic.com.ar/foros/index.php?topic=32713.0