Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
“APLICACIÓN PARA UBICAR LAS RUTAS DEL TRANSPORTE URBANO DEL ESTADO DE MÉXICO (APP REDEDOMEX)” INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS” ZACATENCO PRESENTAN: MERLINA CONCEPCIÓN FLORES ARREDONDO CYNTHYA YAZMIN GARCIA SANCHEZ ASESORES: M. en C. ALEJANDRO HERRERA MARTINEZ M. en C. DAVID VÁZQUEZ ÁLVAREZ CIUDAD DE MÉXICO, MARZO 2019. TESIS PARA OBTENER EL TÍTULO DE: INGENIERO EN COMUNICACIONES Y ELECTRÓNICA IPN-ESIMEZ APP REDEDOMEX 1 Resumen El siguiente trabajo de investigación, tiene como finalidad indicar la ruta de la zona que recorre el transporte público del Estado de México, para fines de prueba se tomará la ruta del municipio de Nezahualcóyotl. La realización de este proyecto, tiene como objetivo brindar al usuario una alternativa para ubicar la zonas en las que circulan las unidades de transporte urbano del municipio antes mencionado, con la finalidad de que si no conoce el lugar o región a la cual desea llegar, le sirva como una opción de toma de decisión de cómo hacer uso de ese medio de transporte. Surge de la necesidad de que, si un usuario requiere hacer uso de los transportes urbanos del Estado de México y no tiene la suficiente información de las rutas por las que circulan los microbuses, utilizando su dispositivo móvil pueda visualizar de forma gráfica el recorrido que se realiza, desde el punto inicial y final que llevan a cabo. Con el objetivo de que el usuario pueda llegar a su destino sin el problema de que se pierda en alguna zona desconocida. El prototipo que a continuación se muestra, basó su desarrollo para sistemas operativos Android, el motivo por el que se consideró utilizar este sistema operativo es debido a su extensa cobertura dentro de la telefonía móvil. Para la realización se hará uso del entorno de desarrollo integrado (IDE) Android Studio, software oficial para el desarrollo de aplicaciones Android, el cual utiliza un lenguaje de programación orientado a objetos. IPN-ESIMEZ APP REDEDOMEX 2 Índice Contenido Resumen .............................................................................................................................. 1 Índice ................................................................................................................................... 2 Glosario Técnico ................................................................................................................. 7 Capítulo 1 ............................................................................................................................ 9 1. Introducción…………………...………………………………………………………..9 1.1 Introducción…………….......………………………………………………....………9 1.2 Objetivos………………...…………………………………………………………...10 1.2.1 General.………………………………………….......……………………………..10 1.2.2 Particulares…….………………...…………………………………………………10 1.3 Planteamiento del Problema………...……………………………………………….11 1.4 Justificación…………………………...……………………………………………..11 1.5 Alcances……………………………………………………………………………...12 1.6 Marco Metodológico…………………………………………………………………12 Capítulo 2 .......................................................................................................................... 13 2. Estado del Arte………………………………………………………………………...13 2.1 Antecedentes……………………………...………………………………………….13 2.1.1 Teléfono Celular o Móvil…………………………………………………………..13 2.1.2 Funcionamiento…………………………………………………………………….13 2.1.3 Era Digital………………………………………………………………………….14 2.1.3.1 Aparición en el Mercado………………………..………………………..14 2.1.3.2 Mejoras al Dispositivo…………………….……………………………..15 2.1.3.3 Variación de los Dispositivos en el Tiempo…………….……………….15 IPN-ESIMEZ APP REDEDOMEX 3 2.2 Sistemas Operativos………………………………………………………………….16 2.3 Historia y Evolución de los Entornos de Programación Móvil…………...…………17 2.4 Aplicaciones Móviles para el Transporte Público…...………………………………17 2.5 El Valor de las Aplicaciones Android Dentro de Google en el Mercado……………21 Capítulo 3 .......................................................................................................................... 23 3. Análisis y Diseño……………...………………………………………………………23 3.1 Análisis…………….......…………………………………………………………….23 3.1.1 Conocimiento de las Herramientas y Recursos para el Desarrollo de Aplicaciones23 3.1.1.1 Comparativas de Entornos de Desarollo para Aplicaciones Móviles…...23 3.1.2 Android………………………………………………………...…………………..25 3.1.2.1 Versiones de Android en los Dispositios Móviles…….…………………25 3.1.3 Marco General e Introducción al Entorno de Desarrollo de Android Studio...……26 3.1.3.1 Arquitectura de Android……….....……………………………………...26 3.1.3.2 El Núcleo de Linux………….…………………………………………...26 3.1.3.3 Runtime de Android………………………………......………………….27 3.1.4 Lenguajes de Programación…………………………………....…………………..27 3.1.4.1 Surgimiento de Java………………………………….....………………..27 3.1.4.2 Nacimiento de XML………………………………….………………….27 3.1.5 Android SDK…………………………………………...………………………….28 3.1.6 APIs en Google………………………………….......……………………………..30 3.1.6.1 Funcionamiento de las APIs Implementadas en Android Studio.....…….30 3.1.6.2 Servicios………..………………………………………………………...31 3.1.6.3 Google Maps Android API………………………………….…………...31 3.1.6.4 Google Maps Geolocation API………………………….……………….32 3.1.7 Componentes de una Aplicación………………………………….......…………...32 IPN-ESIMEZ APP REDEDOMEX 4 3.1.7.1 APK Archivo para el Móvil…………………………….………………..33 3.2 Análisis del Costo/Beneficio de la Creación de la Aplicación………………...…….34 3.3 Diseño……………….......…………………………………………………………...36 3.3.1 Ubicación del Mapa del Prototipo a Diseñar…………………………...………….36 3.3.2 Obtención de la Clave de API Google Maps………………………...…………….37 3.4 Uso del Móvil en los Pobladores…..………………………………………………...48 3.4.1 Conclusión de las Encuestas.……………………………………………………....49 Capítulo 4 .......................................................................................................................... 50 4 Construcción e Implementación………………………………………………………..50 4.1 Construcción de la Aplicación……………………….......…………………………..50 4.1.1 Iniciando un Proyecto en Android Studio………………………....……………….50 4.1.2 Obtención del Mapa y Ubicar Localización………...……………………………..53 4.2 Diseño de la Interfaz……….......…………………………………………………….55 4.3 Requisitos Previos a la Compilación de la Aplicación……………...……………….57 4.4 Requerimientos para su Funcionamiento…………….……………...……………….58 4.4.1 Usuarios……………………………...…………….……………...……………….58 4.4.2 Infraestructura………………………..…………….……………...……………….58 4.4.3 Instalación………………………………………….……………...……………….58 Conclusiones ..................................................................................................................... 59 5.1 Trabajos Futuros……………………….…………….……………...……………….60 Anexos……………………….…………….……………...……………………………..61 Anexo A……………………………………………………………………………….....61 Manifiesto de Google Maps para el uso de los mapas…………………………………...61 Anexo B…………………………………..……………………………………………...61 Módulos de las clases para el trazado de rutas y visualización del mapa de Google……61 IPN-ESIMEZ APP REDEDOMEX 5 Anexo C………………………………………………………………………………….66 Diseño de la interfaz de usuario………………………………………………………….66 Referencias……………………………………………………………………………….68 Índice De Figuras Capítulo 1 Figura 1.1: Tabla del número de habitantes por municipio en el Estado de México. ................... 10 Figura 1.2: Diagrama de Bloques de la Metodologíade Desarrollo............................................. 12 Capítulo 2 Figura 2.1: Motorola Tought Talker(1985). ................................................................................. 14 Figura 2.2: Evolución del teléfono celular. .................................................................................. 15 Figura 2.3: Aplicaciones para Transporte Público. ...................................................................... 17 Figura 2.4: Forma de la App. ....................................................................................................... 19 Figura 2.5: Birmingham City Council Mapa. .............................................................................. 20 Figura 2.6: Estadística de Crecimiento del Mercado de las Aplicaciones. .................................. 21 Capítulo 3 Figura 3.1: Versiones de Android. ............................................................................................... 25 Figura 3.2: Captura de Pantalla del Emulador de Android Studio. ............................................ 30 Figura 3.3: Menú de Seguridad en el Dispositivo Móvil. ............................................................ 34 Figura 3.4: Mapa del Municipio de Nezahualcóyotl. .................................................................. 37 Figura 3.5: Captura de pantalla de la Consola de Google. ........................................................... 38 Figura 3.6: Opción de proyecto. .................................................................................................. 38 Figura 3.7: Captura de pantalla de la forma de dar de alta las credenciales. ............................... 39 Figura 3.8: Obtención de la clave de API. ................................................................................... 39 IPN-ESIMEZ APP REDEDOMEX 6 Figura 3.9: APIs Habilitadas. ....................................................................................................... 40 Figura 3.10: Captura de Pantalla Código de ejemplo de mapa. ................................................... 40 Figura 3.11: Captura de Pantalla de Ejemplo del Mapa en el Emulador. .................................... 41 Capítulo 4 Figura 4.1: Menú de Inicio Android Studio. ................................................................................ 50 Figura 4.2: Creación de Proyecto en Android. ............................................................................ 51 Figura 4.3: Menú de Selección. ................................................................................................... 51 Figura 4.4: Porcentajes de Uso de las Versiones de Android. ..................................................... 52 Figura 4.5: Captura de Pantalla. Selección de Actividad a Realizar. .......................................... 53 Figura 4.6: Captura de Pantalla. Código donde se Muestra la Clave API. .................................. 54 Figura 4.7: Código para Declarar los Valores de Latitud y Longitud. ........................................ 54 Figura 4.8: Código de Diseño de la Interfaz de Usuario. ............................................................. 56 Figura 4.9: Declaración de Dependencias. .................................................................................. 57 Figura 4.10: Declaración de Permisos. ........................................................................................ 57 Índice De Tablas Y Gráficas Capítulo 3 Tabla 1: Tabla Comparativa de los Entornos de Desarrollo para Aplicaciones Móviles ............ 24 Tabla 2: Sueldo bruto promedio por entidad federativa. mensual, en pesos mexicanos ............. 35 Gráfica 1: Número de usuarios que usan el transporte público ................................................... 43 Gráfica 2: ¿Qué tipo de transporte se usa más?. .......................................................................... 44 Gráfica 3: Uso en la semana del transporte ................................................................................. 34 Gráfica 4: ¿Qué tanto conocen las rutas?. .................................................................................... 37 Gráfica 5: Opciones de consultas. ................................................................................................ 38 Gráfica 6: Tipos de conexión a Internet. ...................................................................................... 38 IPN-ESIMEZ APP REDEDOMEX 7 Glosario Técnico API: (Aplication Programming Interface), las iniciales en inglés de Interfaz de Programación de Aplicaciones. Es una llave de acceso para hacer uso de funciones que un tercero provee. APK: (Application Package File) paquete de las aplicaciones Android, utilizado para distribuir e instalar componentes empaquetados para la plataforma Android en smartphones y tablets. APP: Vocablo en inglés de Application, nombre comúnmente utilizado para referirse a las aplicaciones. Software ejecutado en teléfonos móviles y tablets. Base de Datos: Conjunto de datos organizados de modo tal que resulte fácil acceder a ellos, gestionarlos y actualizarlos. Benchmarking: Proceso sistemático para evaluar comparativamente productos, servicios y procesos. Es el estudio comparativo y analítico de otras aplicaciones, con el fin de determinar la calidad y características de cada una de ellas, tomándolas como parámetros de referencia. Dispositivo Móvil: Aparato electrónico de tamaño pequeño, posee capacidad de procesamiento, conexión a una red, memoria limitada. Una de sus características más destacables es que al ser de pequeño tamaño puede transportarse fácilmente. Emulador: Herramienta que permite probar la aplicación sin necesidad de contar con un dispositivo móvil. De esta forma, se puede ejecutar el código en la computadora y ver los resultados en la pantalla, con el fin de realizar comprobaciones preliminares sobre el funcionamiento de la aplicación. Geolocalización: Localización geográfica de un dispositivo, incluida en un móvil, Tablet o computadora con conexión a Internet. GPS: Sistema americano de navegación y localización mediante satélites. IDE: Acrónimo en inglés de Integrated Development Enviroment, que en español se traduciría como Entorno de Desarrollo de Aplicaciones. Programa informático compuesto por un conjunto de herramientas de programación. Información: Conjunto organizado de datos procesados, constituyen un mensaje sobre determinado tema. IPN-ESIMEZ APP REDEDOMEX 8 Interfaz de Usuario: Capa que existe entre el usuario y el dispositivo, es lo que le permitirá al usuario interactuar de forma gráfica, a través de la pantalla del dispositivo con la aplicación. Internet: Sistema mundial de redes de computadoras interconectadas. Actualmente es un espacio público utilizado por millones de personas en todo el mundo como herramienta de comunicación e información. JavaScript: Lenguaje de programación principalmente en proyectos web como páginas o aplicaciones, actúa en conjunto con HTML y CSS. Lenguaje de Programación: Sistema de escritura para la descripción precisa de algoritmos o programas informáticos. Librería: Conjunto de código externo que puede aprovecharse para conseguir determinadas acciones. SDK: (Software Development Kit) o “Kit de desarrollo de software”, provee a los programadores herramientas necesarias para desarrollar el código de una aplicación. Servicio: Objeto que se ejecuta en segundo plano, sin necesidad de interfaz gráfica. Sistema Operativo: Software que contiene cada uno de los teléfonos y sobre el cual se ejecutan las aplicaciones. Ejemplo de ello son: Android, iOs y Windows Phone. Smartphone: Conocidos como teléfonos inteligentes en los cuales se pueden hacer funciones similaresde una computadora. Ejemplo de esto es la edición de documentos, navegar por Internet, compartir información, etc. Están diseñados para ejecutar una variedad de aplicaciones. IPN-ESIMEZ APP REDEDOMEX 9 Capítulo 1 1. Introducción. 1.1. Introducción. El presente proyecto consiste en la elaboración de una aplicación para dispositivos móviles con sistema operativo Android, que apoye a los usuarios en recorrido de las rutas del transporte urbano del Estado de México del municipio de Nezahualcóyotl. En las grandes urbes del mundo, en las ciudades más pobladas de México, es necesario el transporte público para trasladarse de un lugar a otro, pero usarlo es un peligro. La población en el municipio de Nezahualcóyotl ha aumentado, en la actualidad son un 1 millón 039, 867 habitantes, según el último censo del INEGI. [Argüelles Efrén, Excelsior, 2017] Para realizar la aplicación se pueden utilizar los distintos entornos de desarrollo enfocados en la creación de aplicaciones. Una aplicación para el transporte público, puede entenderse como una herramienta digital, que brinda información para que el usuario pueda trasladarse de un lugar a otro indicándole la parada cercana o información sobre las rutas por las que circula, resultándole de mucha utilidad. Existen personas que no conocen las rutas de transporte urbano del municipio de Nezahualcóyotl pero necesitan trasladarse de un lugar a otro de una manera económica, por lo que hacen uso de este medio de transporte. Por este motivo una aplicación que muestre las rutas que circulan por esta zona y cuales les convienen abordar sería beneficiosa. Una aplicación en sus dispositivos móviles les brindaría la opción de conocer las rutas del transporte urbano en este sector del Estado de México y así llegar a su destino. IPN-ESIMEZ APP REDEDOMEX 10 Figura 1.1 Tabla del número de habitantes por municipio en el Estado de México. Fuente: INEGI. Encuesta Intercensal 2015. 1.2. Objetivos 1.2.1 General Diseñar y desarrollar una aplicación que proporcione información a los usuarios de transporte público para llegar de un punto a otro, por medio de las rutas de transporte público del Estado de México. 1.2.2 Particulares • Establecer una zona del Estado de México con la que se realizarán las pruebas para el trazado del recorrido de una ruta. • Analizar la información de rutas de transporte público del sector de Nezahualcóyotl. • Diseñar una aplicación que muestre el mapeo del recorrido que realizan las rutas del transporte urbano de la zona de Nezahualcóyotl, ubicando las paradas que realizan y los transbordes necesarios. • Desarrollar una aplicación móvil para teléfonos móviles que usan Android con geolocalización. IPN-ESIMEZ APP REDEDOMEX 11 1.3. Planteamiento del Problema Desarrollar una aplicación móvil la cual muestre las rutas que maneja el transporte público en la zona del Estado de México en el municipio de Nezahualcóyotl, dando la ruta más cercana a la ubicación de usuario en tiempo real. No mostrará el tiempo de espera para abordar, solo mostrara el punto donde puede abordarlo. Dará la información básica de los distintos transportes que lo acerquen o lleven al destino, el usuario podrá decidir cuál es el más conveniente de acuerdo a sus necesidades. Actualmente no existe una vía de información clara de las rutas del Estado de México en el municipio de Nezahualcóyotl, los usuarios primerizos incluso los que diariamente se transportan por este medio, no cuentan con la información precisa de paradas e intersecciones de microbuses, combis u otro medio que forma parte del transporte público de esta urbe. La inserción de nuevas rutas, modifica el sistema de movilidad, lo que provoca que se tenga que reorganizar los recorridos y paradas, tiendo como necesidad una forma de difusión informativa dirigida a los usuarios que hacen de este su medio de transporte, que les permita comprenderlas, conocerlas y saberlas utilizar. 1.4. Justificación Se pretende elaborar esta aplicación como recurso de ayuda para los usuarios del transporte público del Estado de México en la zona de Nezahualcóyotl que colinda con la CDMX, ya que actualmente no hay aplicación que muestre las rutas por donde circula este tipo de transporte público. Se desea brindar una aplicación a los usuarios del transporte urbano que diariamente circulan por esa zona, así como a los nuevos usuarios que por primera vez hacen uso de este medio de transporte. Actualmente existen varias aplicaciones de transporte público, pero no se cuenta con alguna aplicación que se centre en el estudio del transporte urbano de la zona del Estado de México. Aplicaciones como Moovit, Waze y CityMapper, por mencionar algunas. No cuentan con la red de transporte urbano del Estado de México dentro de la zona de Nezahualcóyotl, siendo descartables al momento de que el usuario se encuentre en esta zona. Estas aplicaciones se enfocan más en los transportes colectivos como: el metro, metrobus y IPN-ESIMEZ APP REDEDOMEX 12 mexibus, los cuales sus rutas de transporte se encuentran dentro de las inmediaciones de la CDMX, siendo este su alcance y con bases ya establecidas en su recorrido. 1.5. Alcances. Se pretende delimitar el alcance de la aplicación a la zona del Estado de México, que colinda en los límites de la CDMX, para la realización de este proyecto solo se realizarán las pruebas con el municipio de Nezahualcóyotl. Al obtener la base de datos de las rutas que circulan en esa zona se obtuvieron las siguientes: El desarrollo se elaborará en un entorno de Android Studio, la mayoría de los usuarios utilizan dispositivos con sistema operativo Android, al este ser un sistema operativo que destaca sobre otros en cuanto a mayor uso se procederá a desarrollar la aplicación. Durante el proceso del análisis para elegir la interfaz de desarrollo, en el capítulo III se mostrará una tabla comparativa con la características de algunas plataformas de desarrollo de aplicaciones, también se desarrollará el motivo por el que el IDE en el que se trabajará el presente prototipo será desarrollado en Android Studio. 1.6. Marco Metodológico. Para el presente proyecto, que consta del diseño de una aplicación móvil se llevó a cabo la siguiente metodología para su desarrollo: Figura 1.2 Diagrama de Bloques de la Metodología de Desarrollo. Análisis de Programas • Evaluar los tipos de entornos de desarrollo. Caracteristicas y Obtención de Información • Investigar y conocer los lenguajes a usar. Google Developers • Plataforma de desarrollo. Creación del Entorno • Hacer modificaciones de acuerdo a las necesidades. IPN-ESIMEZ APP REDEDOMEX 13 Capítulo 2 2. Estado Del Arte. 2.1. Antecedentes. 2.1.1 Teléfono celular o móvil. A través de los años los avances tecnológicos han ido mostrando nuevos dispositivos que facilitan la vida cotidiana de los seres humanos, con la llegada de las redes de comunicación telefónica se logró establecer comunicación de un lugar a otro a pesar de la distancia. En los últimos años la sociedad ha sido testigo de los nuevos desarrollos y mejoras que ha tenido la telefonía móvil, en este capítulo se hablará de la historia de los teléfonos móviles y como han ido mejorando, las nuevas tecnologías que se les han ido integrandoy como ha ido evolucionando con el transcurso del tiempo. Siendo un equipo para la segunda guerra mundial se trataban de dispositivos inalámbricos con alcance de 600km de onda de radio creado por la compañía Motorola, el modelo llamado Handie Talkie H12-16 era pesado y se transportaba en la espalda dentro de una mochila adaptada. En los años 80’s se comercializa para gente de negocio y como un accesorio de lujo, que solo algunos podían costear. 2.1.2 Funcionamiento Desde el telégrafo los teléfonos operan con la ayuda de una red y los teléfonos celulares no son la excepción, utilizando una gran red que sigue evolucionando y adaptándose a un mercado exigente, el sistema de esta red se lleva en tiempo real y se monitorea el flujo de voz y el tráfico de información. Esto se logra por el enrutamiento dentro de conmutadores multiplex digitales llevado a cabo en diferentes partes del mundo dentro de las oficinas de las empresas de telefonías móviles, siendo un ejemplo la llamada hecha desde nuestros hogares, esta viaja por cable de cobre a una primera red de cables troncales, que pueden estar en los postes o en líneas subterráneas, la línea troncal llega a una oficina central que conecta la línea del cliente con otro tipo de cable llamado par trenzado terminando en una tarjeta de línea donde es codificada de análoga a digital, la cual se manda por fibra óptica a su destino dependiendo del cual sea, tomara diferentes caminos ya sea por repetidores, ondas de IPN-ESIMEZ APP REDEDOMEX 14 microondas, si la señal viajara a otro continente se puede usar cables submarinos o vía satelital. La dirección destino esta decodificada en el número telefónico, este tiene 3 códigos, este código le dice a qué línea de larga distancia está ubicado el remitente (código de área), otro contiene la información de la oficina que corresponde a su zona (prefijo) y por ultimo un conmutador lee la dirección del cliente al que fue hecha la llamada (número del cliente). 2.1.3 Era Digital En 1999 comienza la era digital telefónica, los conmutadores son cambiados rápidamente por los digitales, siendo utilizados tanto para líneas locales como para los móviles. 2.1.3.1 Aparición en el Mercado Figura 2.1 Motorola Tought Talker(1985). Fuente: History Channel. Historia del Teléfono. Recuperado de: https://www.youtube.com/watch?v=xemRmISrHKQ En principio los teléfonos inalámbricos se encontraban empotrados en algunos modelos de vehículos, su modelo era casi similar al usado en la guerra, se basaba en radios móviles con procesadores. El gran paso a la tecnología portátil la logro Intel, con su ayuda se logró hacer más compacto el sistema interno, con su microcomputador 8008 la unidad lógica del modelo Motorola DynaTAC 8000X sale al mercado en 1984. IPN-ESIMEZ APP REDEDOMEX 15 Pero aún no existe la red que satisfaga las necesidades de este teléfono, por lo que las empresas telefónicas comienzan a apostar a la creación de dicha red. Esta red llamada sistema celular, consta de antenas pequeñas en ciertos puntos de una ciudad, cada antena da servicio a un área de ciertas dimensiones (13 Km a 30 Km de radio) al moverse por las antenas la computadora interna hace el cambio de una a otra automáticamente. La señal era ineficiente y con zonas sin cobertura, incluso entre las mismas antenas, algunos reglamentos y sanciones fueron puestos por el peligro que representan las antenas ya sea ubicación material o caídas de las mismas. Este problema se solucionó con la adaptación de seguimiento, este método triangula la ubicación basada en una red que mide la intensidad de la señal del móvil entre 3-4 torres. Algunos métodos más precisos incluyen la tecnología GPS (sistema de posicionamiento global) esta consiste en usar los satélites que triangulan la posición del móvil sin importar donde esté ubicado, gracias a las redes inalámbricas codificadas digitalmente. 2.1.3.2 Mejoras al Dispositivo Figura 2.2 Evolución del teléfono celular. Fuente: Curiosfera. Historia del Teléfono y su Evolución. Recuperado de: http://www.curiosfera.com/historia-del- telefono/ 2.1.3.3 Variación de los Dispositivos en el Tiempo Los celulares comienzan a ser populares en los 90’s siendo un estuche de gadgets en sí, aumentando las funciones internas como: reloj, agendas, calculadoras, etc. Estas funciones fueron en incremento conectándonos de formas inimaginables, en este tiempo los teléfonos celulares no solo sirven para llamadas y envió de texto ya sea por IPN-ESIMEZ APP REDEDOMEX 16 wi-fi, bluetooth, o usando la red. Más que unos simples teléfonos, son computadoras que funcionan con sistemas operativos específicos y optimizados según las condiciones de cada aplicación, como tarjeta de wi-fi, antena GPS y antena emisora-receptora, capacidad de envió de archivos, cámaras de gran potencia y mínimo tamaño. Las terminales de hoy día, están preparados para permanecer conectados, tanto a la red de telefonía como a la red de tráfico de datos e Internet, de alta velocidad, de manera simultánea y permanente, ya que las baterías en promedio aguantan el funcionamiento del dispositivo de manera correcta durante todo el día. 2.2. Sistemas Operativos Los sistemas operativos son el software que ejecuta la interfaz de la computadora logrando la interacción de usuario máquina, soporta los programas creados por su compañía. De un tiempo a esta parte, el boom de la telefonía móvil ha explotado, impulsado por la aparición de sistemas operativos cada vez más y más complejos hasta el punto de asemejarse mucho a los NetBooks actuales. Los sistemas operativos fueron creados en primer lugar para computadoras de escritorio y portátiles, los que ocupa los celulares son más simples lo que los hace totalmente diferentes unos de otros, son orientados a la conectividad inalámbrica y a necesidades específicas. Los sistemas operativos que actualmente se puede encontrar en los dispositivos móviles son principalmente Android, iOs y Windows Phone. Siendo el primero de estos en el que se realizarán las pruebas del prototipo a realizar. Una de las principales razones por las que se optó por realizar en Android, es debido a que estadísticamente la mayor parte de los usuarios que hacen uso del transporte urbano del Estado de México y que cuentan con un Smartphone, contiene sistema operativo Android. En el siguiente capítulo se dará a conocer las herramientas que fueron utilizadas para el desarrollo del prototipo del proyecto, se describirá cada una de ellas, las ventajas y beneficios que ofrecen para los programadores en el desarrollo de aplicaciones móviles. IPN-ESIMEZ APP REDEDOMEX 17 2.3. Historia y Evolución de los Entornos de Programación Móvil Dentro de la industria de los dispositivos móviles y aplicaciones móviles se encuentran en cambios constantes a lo largo de los últimos años. Plataformas de distribución, operadas por las compañías propietarias de los sistemas operativos móviles como lo es el caso de Android, iOs, Blackberry y en algún tiempo Windows Phone, se han ido modernizando en el trascurso del tiempo, las tiendas de aplicaciones brindan grandes ganancias a estas empresas lo que implica que constantemente exista una gran demanda de desarrolladores con especialidad en tecnologías móviles. Las principales medidas para el desarrollo de aplicaciones móviles han ido cambiando y lo seguirán haciendo. Una de ellas es la popularidad de las diferentes plataformas entrelos desarrolladores. En los últimos años se ha producido una migración en las preferencias de los desarrolladores hacia nuevos sectores como IOS y Android. Las aplicaciones móviles, a las cuales también se le denomina apps, se encuentran muy presentes en los teléfonos desde hace algún tiempo. Sistemas operativos como Nokia o Blackberry ya contaban con aplicaciones años atrás. 2.4. Aplicaciones Móviles para el Transporte Público Existen algunas aplicaciones que están en el mercado actual, cabe destacar que estas aplicaciones solo cuentan con los transportes que se encuentran en la CDMX y algunos del Estado de México, pero que ya cuentan con rutas establecidas tal es el caso del metrobus, mexibus, metro, tren suburbano y RTP. Entre las aplicaciones que se centran en el transporte público y más específicamente en los usuarios del mismo, se mencionarán los que mayor alcance tienen en el público mexicano. Figura 2.3 Aplicaciones para Transporte Público. IPN-ESIMEZ APP REDEDOMEX 18 Una aplicación que es internacional es Moovit, esta aplicación engloba varios países, en los que presenta sus servicios de transporte y también han puesto sus servicios en nuestro país, siendo popular en 1,200 ciudades de 70 países. Su forma de operar consta de dos pasos: 1. Se ha acercado a los gobiernos de las ciudades y ha pedido los GTFS (General Transit Feed Specification), que son las descripciones de las rutas de transporte público de una ciudad, las líneas y paradas existentes, así como la frecuencia con la que se mueven las unidades. De esta manera se crea un mapa de transporte público con datos oficiales. 2. Los comentarios y revisiones que los usuarios hacen de las rutas y paradas, mejoran los algoritmos y experiencia del uso de la aplicación. Pero estas rutas no cuentan las rutas del Estado de México, por ser de otras dependencias. Por lo que aun siendo una aplicación que cuenta con respaldo de la empresa con el mismo nombre y 6 años de trabajo para mejorarla y expandirla. Además de no mostrar las rutas de bus que se encuentran cerca del usuario, si no que el mismo usuario debe de conocerlas siendo que el nivel de experiencia que debe tener el usuario para usar Moovit debe ser media. Citymapper, fue creada en Londres, esta aplicación ha tomado terreno en varios países entrando en competencia con las grandes empresas como Google. En un principio solo era para el sistema operativo iOS, estaba enfocada únicamente en las rutas de autobuses por Londres, pero tiene una limitación, ya que solo funciona en 30 ciudades. Su función principal es que el usuario pueda planear sus rutas utilizando el transporte público, si bien, también sirve para ir a pie, en bicicleta o, en algunas ciudades por otros medios de transporte. En 2013, hace alianza con el monopolio de Google y se une a la plataforma de Android, abarcando más ciudades pero sin enfocarse en pequeñas urbes sino en las grandes ciudades de los países. A lo largo de los años ha cambiado de forma y algoritmo, pero aún hay deficiencias para adaptarse al transporte de la CDMX. Aplicaciones como Citymapper, para que lleguen a ciudades, especialmente aquellas en las que el transporte es más caótico y existen menos datos disponibles. IPN-ESIMEZ APP REDEDOMEX 19 Waze es una aplicación de mapas, tránsito y navegación, está aplicación cuenta con un sistema en el que los mismos usuarios de la aplicación publican información del tráfico o sucesos que acontezcan, lo que hará que se ahorre tiempo durante el transcurso del viaje. En el mercado nacional, existen algunas aplicaciones especialmente diseñadas para los transportes de la Ciudad de México, tal es el caso de MasMetro y Metrobus. Metro – Metrobus México es una aplicación creada para viajar solo en la Ciudad de México y área metropolitana. Está centrada en consultar los mapas, rutas, transbordes entre estaciones e información general de los principales transportes de gobierno. La aplicación cuenta con la capacidad de mostrar cada una de las redes de transporte por mapa, estación o línea, permite trazar rutas con la estación más cercana al usuario, con el GPS le permitirá ubicar el camino a tomar dentro de la red de transporte y acercar al usuario a su destino. Metro – Metrobus guía los recorridos de los principales transportes de la CDMX, que son el metro y metrobus, tren suburbano, tren ligero, mexicable y mexibus, con el propósito de facilitar la movilidad. Estas aplicaciones fueron creadas para dar a conocer los recorridos de los transportes públicos que dependen del gobierno, así como sus conexiones entre ellas mismas. Siendo similares a las demás, contando con los mismos servicios que ofrecen las otras apps y dirigidas a transportes enfocados en la CDMX. Figura 2.4 Forma de la App. IPN-ESIMEZ APP REDEDOMEX 20 En México, no se cuenta con una guía como tal de los transportes urbanos que no sean parte de las redes manejadas por el gobierno, mientras que en otros países se pueden encontrar estos sitios web, que han evolucionado adaptándose a las necesidades de los pobladores. En algunos países primermundistas, se han dado a la tarea de mejorar su transporte colectivo para reducir la dependencia de los habitantes al automóvil. Siendo una página donde se da toda la información que necesita el usuario para recorrer esta ciudad y un municipio metropolitano perteneciente al Reino Unido, ubicado en el condado de Midlands Occidentales. Por su población, Birmingham está considerada a la segunda ciudad del país, se han dado a la tarea de crear y remodelar las rutas públicas, junto con la creación de una página que les dé información sobre ella, tanto horarios como rutas. Figura 2.5 Birmingham City Council Mapa. Fuente: https://www.birmingham.gov.uk/info/20013/roads_travel_and_parking/498/birmingham_connected La página se encuentra en servicio actualmente y el proyecto está contemplado a terminar en 20 años. Siendo los transportes del gobierno y no de uso confederado como lo es en nuestro país. Este proyecto, no solo muestra las rutas y ayuda al planear las salidas usando el transporte de bus de Inglaterra, si no que tomara la infraestructura vial del poblado y la reorganizará para dar un mejor servicio al usuario. Para su mayor comodidad al momento de utilizar los servicios de transporte tanto para los nativos como para los turistas extranjeros. https://www.birmingham.gov.uk/info/20013/roads_travel_and_parking/498/birmingham_connected IPN-ESIMEZ APP REDEDOMEX 21 En los últimos años los usuarios europeos han optado por la bicicleta como medio de transporte haciendo que este proyecto se adapte las necesidades y exigencias de los pobladores creando rutas para ciclistas. 2.5. El Valor de las Aplicaciones Android Dentro de Google en el Mercado Google Play, como el principal mercado de aplicaciones Android, funciona a base de tendencias. Google Play, forma parte de los más importantes mercados de las aplicaciones, aunque existen otro tipo de mercados. En la actualidad el mercado es manejado por Google Play, siendo el portal que provee la mayor parte de las apps para Android, las cuales pueden descargarse en la Google Play Store, aun siendo es ella la tendencia de los usuarios de Google Play es que “todo debe ser gratis”. Sin publicidad, Google Play no podría ofrecer una amplia variedad de aplicaciones y juegos con los que cuenta actualmente. Esto hace que casi todas las apps y juegos sean de pago. Algunosdesarrolladores optarían por elegir un modelo “fremium” que es dar una parte gratis, enganchar al usuario y cobrar por el resto. Mientras los usuarios no estén dispuestos a aceptar que el desarrollo de apps requiere de muchos conocimientos técnicos, y además muy complejos, así como el tiempo requerido para idear, diseñar, desarrollar y realizar pruebas a la app, tendrán que seguir existiendo apps con publicidad. La publicidad, se ha convertido en un aliado para los desarrolladores de aplicaciones, ya que el trabajo del programador viene pagado por este medio. En la siguiente gráfica se denota el incremento de este mercado: Figura 2.6 Estadística de Crecimiento del Mercado de las Aplicaciones. IPN-ESIMEZ APP REDEDOMEX 22 En este capítulo se presentaron las aplicaciones que se pueden encontrar en el mercado y que brindan los servicios de ubicaciones de rutas de los servicios del transporte público dentro de la Ciudad de México. Así como el crecimiento que han tenido dentro del mercado de las aplicaciones móviles. En el siguiente capítulo se darán a conocer las diferentes plataformas de desarrollo que existen para la creación de aplicaciones móviles, sus características y cuál es la más óptima para el desarrollo del presente proyecto. También se informará sobre el entorno de desarrollo seleccionado para la elaboración del proyecto, las herramientas del mismo, así como su arquitectura. Los dispositivos móviles disponen de diferentes versiones de los sistemas operativos, conforme se realizan actualizaciones las versiones del sistema operativo van cambiando, brindándole al usuario nuevas opciones y/o actualizaciones para poder hacer uso de nuevas características en el dispositivo móvil y la corrección de errores de la versión anterior. Otro de los temas que se tomará en cuenta en el capítulo siguiente serán las herramientas del entorno de desarrollo utilizado, los paquetes necesarios para realizar su instalación y una breve descripción, para conocer los beneficios que brindan en la elaboración de aplicaciones móviles, las API’s que utilizaron durante el desarrollo del proyecto y la visualización de mapas de Google incorporados dentro de la aplicación desarrollada. Mostraremos los pasos que se siguieron para la elaboración de la aplicación, en cuanto a la implementación de las APIs usadas y las capturas de pantalla de como el usuario visualizará la aplicación en su dispositivo móvil. Para la elaboración de una aplicación se necesita conocer las necesidades de los usuarios de aplicaciones móviles, por lo que se requiere realizar encuestas para conocer si la aplicación es viable, para el caso del presente trabajo se mostrará una serie de gráficas que reflejan el uso del transporte público en el Estado de México en el municipio de Nezahualcóyotl, al existir en esta zona varias rutas los usuarios habituales ya conocen las rutas recorridas, pero para los usuarios nuevos genera cierta confusión, por lo que la elaboración de este proyecto busca dar a conocer las rutas recorridas a los usuarios que desconocen las rutas existentes en este municipio. IPN-ESIMEZ APP REDEDOMEX 23 Capítulo 3 3. Análisis y Diseño. 3.1. Análisis. En el presente capítulo, se presentará la etapa de análisis, en donde se llevará a cabo comparativas de las plataformas de desarrollo de aplicaciones móviles. Se visualizan tablas comparativas de las herramientas que se utilizan actualmente en el mercado del desarrollo de aplicaciones, describiendo de cada una sus características, para posteriormente presentar el entorno adecuado para realizar la implementación. A continuación se dará a conocer el entorno de desarrollo a utilizar, sus características y los beneficios que brinda en cuanto a los otros entornos que fueron analizados en el proceso de selección. 3.1.1 Conocimiento de las Herramientas y Recursos para el Desarrollo de Aplicaciones. 3.1.1.1 Comparativas de Entornos de Desarrollo para Aplicaciones Móviles. Los entornos de desarrollo de aplicaciones móviles mejor conocidos como IDE (acrónimo en inglés de Integrated Development Enviroment), son programas informáticos compuestos por un conjunto de herramientas de programación. Estos IDE han sido empaquetados como un programa de aplicación, es decir, contienen un editor de código, compilador, depurador y constructor de interfaz gráfica (GUI) Existen diversas plataformas de desarrollo de aplicaciones móviles, entre las más utilizadas se muestran a continuación: ▪ Xamarin ▪ Adobe PhoneGap ▪ Plataformas web En la siguiente tabla, se muestran las características que poseen cada una de las plataformas que son analizadas en esta etapa. Una de las características que destacan a Android Studio entre las demás es que al ser una plataforma gratuita y de código abierto, cualquier persona puede iniciarse como desarrollador de aplicaciones. IPN-ESIMEZ APP REDEDOMEX 24 Otra de las ventajas es que Android Studio al pertenecer a Google brinda distintas herramientas de forma gratuita que pueden ser incorporadas en el diseño de las aplicaciones, lo cual facilita en el proceso de desarrollo de la aplicación. Al ser una aplicación que necesitara incorporar la herramienta de Google Maps, Android Studio ya tiene incorporada la plantilla de mapas, mientras que en el caso de las otras plataformas se tiene que realizar la descarga de los paquetes necesarios para incorporar su uso. Tabla 1 Tabla Comparativa de los Entornos de Desarrollo para Aplicaciones Móviles. O = cuenta con los requerimientos. X = no cuenta con lo requerido. - = Sus alcances son limitados para las necesidades del proyecto. Con base a la tabla anterior, se puede concluir que actualmente existen múltiples plataformas de desarrollo de aplicaciones para diferentes sistemas operativos, entre las que destacan están Xamarin y Android Studio. Estas brindan al desarrollador documentación en línea, un ejemplo de ello son los pasos que se deben llevar a cabo para la instalación, por otra parte cuentan con plataformas especiales para desarrolladores en donde se puede encontrar información en foros donde se discuten temas relacionados con problemas que se presentan a lo largo del camino en el desarrollo de las aplicaciones. También cuentan con varios ejemplos de códigos que brindarán un apoyo en el inicio de la programación. Entornos de desarrollo Uso de lenguajes Plantillas Permisos Compatibles Google Maps Cuotas por Suscripción Api google Plataformas web X O X - O - Xamarin O O X O - - Adobe PhoneGap X O X X O O Android Studio O O O O X O IPN-ESIMEZ APP REDEDOMEX 25 3.1.2 Android Es un sistema operativo basado en el núcleo de Linux. Fue diseñado en un principio para dispositivos móviles, Android controla dispositivos por medio de bibliotecas desarrolladas o adaptadas por Google mediante el lenguaje de programación Java. Android al ser una plataforma de código abierto permite a los desarrolladores crear y desarrollar aplicaciones escritas en lenguaje C u otros lenguajes y compilarlas a código nativo de ARM(API de Android). [1] 3.1.2.1 Versiones de Android en los Dispositivos Móviles Los dispositivos móviles emplean diferentes versiones de Android debido a las actualizaciones y correcciones que se realizan en el transcurso del tiempo. A continuación se muestran las antiguas y actuales versiones que se pueden encontrar en los diferentes dispositivos móviles.Figura 3.1 Versiones de Android El propósito de conocer las versiones de Android es que se debe elegir a partir de que versión se realizará la programación de la aplicación, con la finalidad de conocer la compatibilidad y las funcionalidades que se han agregado o modificado. A partir de la versión 4.1 “Jelly Bean” se realizará la experimentación del proyecto de rutas de transporte urbano del Estado de México, para realizar dicha programación se IPN-ESIMEZ APP REDEDOMEX 26 hará uso del software Android Studio, el cual nos brinda las herramientas necesarias para realizar el prototipo. 3.1.3 Marco General e Introducción al Entorno de Desarrollo de Android Studio A través de los años la telefonía celular ha ido cambiando la vida cotidiana de la sociedad, en sus inicios solo era un medio de comunicación por el cual su principal objetivo era comunicar a la sociedad con el exterior por lo que con lo que principalmente se contaba era llamadas telefónicas y envió de texto por medio de mensajería, las principales características que poseían los equipos móviles eran limitados, con el pasos del tiempo y el desarrollo de nuevas tecnologías actualmente los dispositivos móviles cuentan con mayores capacidades que se muestran semejanza con un ordenador personal, a lo que se le denomina Smartphone. El objetivo ya no es simplemente realizar llamadas o en envío de mensajes vía SMS, si no que incluyen aplicaciones que brindan el usuario la oportunidad de realizar múltiples tareas en un dispositivo de dimensiones no mayores a 1920x1080 pulgadas y que le brindan la oportunidad de realizar actividades como las que haría en un ordenador, uno de los beneficios ya incluidos en estos equipos es que poseen un sistema de ubicación GPS, el cual posee la capacidad de geo localizar la ubicación en que el usuario se encuentre. 3.1.3.1 Arquitectura de Android Studio. Aplicaciones: Cualquier tipo de aplicación escrita en Java. Framework de las aplicaciones: Acceso al API para rehusar componentes o modificarlos. Bibliotecas en C/C++: El desarrollador puede usarlas a través del Framework Runtime de Android: Bibliotecas del lenguaje Java y única instancia en la máquina virtual Dalvik. Núcleo Linux: Capa de abstracción del hardware y servicios de seguridad, gestión de memoria, de procesos, pila de red, modelo de los controladores, etc. 3.1.3.2 El Núcleo de Linux. Utiliza el núcleo de Linux 2.6, como interfaz entre software y el hardware del sistema, proporcionando una plataforma de hardware estable sobre la cual se ejecuten las IPN-ESIMEZ APP REDEDOMEX 27 aplicaciones. Esta capa proporciona servicios como la seguridad, el manejo de la memoria, el multiproceso, la pila de protocolos y el soporte de drivers para dispositivos. Es la única que es dependiente del hardware. 3.1.3.3 Runtime de Android. Basado en el concepto de máquina virtual de Java. Debido a las limitaciones de los dispositivos donde se había de ejecutar Android, como por ejemplo la memoria o que posee un procesador limitado, no fue posible utilizar una máquina virtual Java estándar. Google opto por crear una nueva máquina virtual a la que llamó “máquina virtual Dalvik”, que generó mejores respuestas a estas limitaciones. 3.1.4 Lenguajes de Programación. Google ha empleado Java como lenguaje de programación para crear aplicaciones Android. El lenguaje Java es un lenguaje orientado a objetos. Además se usa el metalenguaje XML para el diseño de interfaces. 3.1.4.1 Surgimiento de Java. A principios de los años noventa, poner inteligencia en los aparatos domésticos se consideraba como el siguiente paso de la tecnología. Algunos ejemplos de enseres domésticos inteligentes incluyen las cafeteras controladas por computadoras, o televisores controlados por un dispositivo programable interactivo. Anticipándose a un fuerte mercado para tales dispositivos, en 1991, Sun Microsystems fundó un equipo de investigación para trabajar en un “Proyecto verde” secreto, cuya misión era desarrollar software para enseres domésticos inteligentes. [Dean Raymon, Intro. A la programación con Java]. Al principio Sun nombró el nuevo lenguaje Oak (Roble, nombre que se le dio debido a que había un árbol que se veía desde la ventana del líder de proyecto, James Gosling), pero ese nombre ya le pertenecía a otro lenguaje de programación. Fue entonces, que mientras un grupo de empleados de Sun tomaban un descanso en una cafetería local, se les ocurrió el nombre de “Java”. 3.1.4.2 Nacimiento de XML. A mediados de los años 90, el consorcio W3C(World Wide Consortium) quiso conseguir que la web tuviera un lenguaje más potente y que pudiera darle una estructura semántica. IPN-ESIMEZ APP REDEDOMEX 28 Por este motivo, se propusieron crear un nuevo lenguaje de marcas basado en SGML(Standard Generalized Markup Language). Finalmente, en 1998 nació el nuevo lenguaje XML(eXtented Markup Language), más sencillo que SGML y más poderoso que HTML (Hyper Text Markup Language). [Tortajada Juan, Lenguaje de marcas]. La difusión que ha tenido XML, ha sido en buena parte por el impulso que le ha dado Internet y la necesidad de crear, transmitir y procesar información adecuadamente en distintos campos. Las ventajas que proporciona son: • Mayor precisión en la utilización de buscadores. • Reciclaje del formato según las necesidades. • Desarrollo de aplicaciones informáticas. • Uso simultaneo de los documentos. • Presentación de la información en múltiples dispositivos, como libros electrónicos o teléfonos móviles. • Navegación rápida y eficaz. Al procesar respuestas XML, es necesario utilizar un lenguaje de consulta adecuado para seleccionar nodos dentro del documento, sin asumir que los elementos residen en posiciones absolutas dentro del marcado XML. 3.1.5 Android SDK. Google ofrece de manera gratuita el SDK (Software Development Kit) oficial de Android Studio. El SDK se refiere a aquellas librerías, serie de drivers, herramientas y recursos diversos que se deberán instalar para iniciar a programar en Android. En Android Studio SDK se incluyen las herramientas necesarias para comenzar a programar un proyecto de aplicación móvil, cuenta también con APIs facilitadas por Google tanto para el control de ciertas funciones del dispositivo como para la integración de servicios, cuenta con un depurador, un emulador para visualizar las aplicaciones y toda la documentación para dar los primeros pasos programando en Android. Para el caso de Android Studio, cuenta con una interfaz gráfica amigable para el desarrollador se debe descargar y posteriormente instalar las librerías requeridas del SDK. Es posible seleccionar las que se necesitan, pero principalmente se tienen que aceptar la IPN-ESIMEZ APP REDEDOMEX 29 licencia y condiciones que se especifican antes de proceder a la instalación, para posteriormente realizarla. Android Studio ya incluye algunas SDK preinstaladas, sin embargo no serán suficientes si se requiere tener un entorno de desarrollo completo. Las librerías del Android SDK se dividen de la siguiente manera: • SDK Platforms(Plataformas del SDK) • SDK Tools (Herramientas del SDK) • SDK Updates(Actualizaciones del SDK) • SDK Platforms Permitirán tener vistas previas en las distintas versiones de Android. Incluye varias herramientas que requiere la plataforma de Android, incluida la herramienta adb. Android Debug Bridge (ADB) es una herramienta que permite comunicarse con el emulador o un dispositivo. Proporcionarealizar diferentes acciones en dispositivos, como la instalación y depuración de apps. Se requiere al menos una plataforma para poder compilar una aplicación. SDK Tools incluye varias herramientas esenciales, como Android Emulator y ProGuard. La herramienta Android Emulator, es donde se podrá ir visualizando de manera virtual la aplicación desde la computadora en donde se haya realizado la instalación de Android Studio, pues nos muestra tal y como se observaría en el dispositivo móvil. Esta herramienta, dentro de varias funciones que posee, permite al desarrollador ver los errores que se generan al momento de ejecutar el código y afecten la funcionalidad de la aplicación, así como modificar la estructura de los menús dentro de la misma, para lograr una interfaz viable de acuerdo con las necesidades que requiere el público para el que va dirigido. IPN-ESIMEZ APP REDEDOMEX 30 Figura 3.2 Captura de Pantalla del Emulador de Android Studio. 3.1.6 APIs en Google Las APIs, son un conjunto de funciones y procedimientos que permiten cumplir una o varias funciones, su fin es ser utilizadas por otro software. API proviene de las siglas en inglés (Application Programming Interface), que es español se traduciría como Interfaz de Programación de Aplicaciones. 3.1.6.1 Funcionamiento de las APIs Implementadas en Android Studio. Estas interfaces permiten implementar las funciones y procedimientos que engloban las necesidades en el proyecto, sin la necesidad de programarlas desde cero. Permiten usar códigos que otros desarrolladores han probado exitosamente, poniendo como prioridad el asegurar un producto de calidad. API REST, es una biblioteca apoyada totalmente en el estándar HTTP, la cual es un servicio que provee funciones que dan la capacidad de hacer uso de un servicio web privado, dentro de una aplicación propia. IPN-ESIMEZ APP REDEDOMEX 31 Al hacer uso de las APIs no se pueden añadir nuevas funcionalidades. De esta manera compañías como Twitter se aseguran de lo que pueden o no hacer los clientes. 3.1.6.2 Servicios. Google Maps API proporciona ciertos servicios web, un ejemplo de ello es una interfaz para solicitar datos de Maps API a servidores externos y usarlos dentro de las aplicaciones de Maps. Estos servicios están diseñados para usarse junto con un mapa, de acuerdo con las restricciones de la licencia para las condiciones de servicio de las Google Maps API. Los servicios web usan solicitudes tipo HTTP para direcciones en formato URL específicas y les pasan a los servicios y parámetros, dentro de direcciones URL como argumentos. Generalmente los servicios devuelven datos en la solicitud HTTP como JSON o XML para que la aplicación los analice o los procese. La información completa acerca de cada uno de los servicios se encuentra en las guías del desarrollador específicas para esos servicios. Por otra parte en estas guías se abordan algunas prácticas comunes, que resultan útiles para configurar las solicitudes de servicios web y procesar respuestas. 3.1.6.3 Google Maps Android API. Utilizando Google Maps Android API, se pueden agregar mapas basados en los datos proporcionados por Google Maps a la aplicación. La API administra en forma automática el acceso a servidores, descarga de datos, visualización de mapas y respuesta a gestos de mapas de Google Maps. Usando el llamado de API es posible agregar marcadores, polígonos y superposiciones a un mapa básico, es posible cambiar la vista del usuario para que solo se pueda mostrar un área en particular dentro del mapa. Estos objetos proporcionan información adicional de ubicaciones en el mapa y permitirá la interacción del usuario con este. A continuación se enlistan los gráficos permitidos por la API en un mapa: • Iconos anclados situados en posiciones específicas dentro del mapa (marcadores). • Conjuntos de segmentos de líneas (polilíneas). • Segmentos cerrados (polígonos). • Gráficos de mapa de bits anclados en posiciones específicas del mapa (marcadores). • Conjuntos de imágenes que se muestran sobre los mosaicos de mapas básicos (superposiciones de mosaicos). IPN-ESIMEZ APP REDEDOMEX 32 Requisitos de atribuciones. Al hacer uso de Google Maps Android API en una aplicación, se requiere incluir en el texto de atribución de Google Play Services como parte de una sección “Avisos legales” dentro de la aplicación. 3.1.6.4 Google Maps Geolocation API Google Maps Geolocation API devuelve una ubicación y radios de precisión en función de información acerca de torres celulares y nodos de WiFi que el cliente móvil pueda detectar. La comunicación se realiza a través de HTTPS usando POST. Tanto la solicitud como la respuesta poseen formato JSON, y el tipo de contenido de ambas es application/json. Las solicitudes de geolocalización se envían usando POST a una URL como la siguiente: https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY Para la cual se deberá especificar una clave en la solicitud e incluirla como el valor de un parámetro key. Una key es la clave de API de la aplicación. Esta clave permitirá identificar la aplicación la administración de la cuota. Respuesta a solicitudes de geolocalización Una solicitud de geolocalización devolverá una respuesta en formato JSON que definirá una ubicación y un radio. • Location: La latitud y longitud calculadas del usuario, en grados. Contiene subcampo lat y lng. • Accuracy: Precisión de la ubicación calculada, en metros. Esto representa el radio de un círculo alrededor de la location especificada. 3.1.7 Componentes de una Aplicación En el diseño de una aplicación móvil existen una serie de componentes que forman parte de la estructuración de una app, algunos de estos los mencionamos a continuación: • Activities: Componentes de la interfaz de usuario, al crear un Activity se representa una pantalla que será lo que el usuario observará. • Services: Son ejecutados en segundo plano y no contienen una interfaz para que el usuario lo pueda ver. https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY IPN-ESIMEZ APP REDEDOMEX 33 • Content Provider: Proveedor de contenido, se encarga de proporcionar datos a la aplicación. • Views: Componentes de la interfaz de usuario, ejemplo de ello son los botones, cuadros de texto, etiquetas, barra de herramientas, etc. • Intents: Objetos que sirven para mandar mensajes. Forma de comunicación entre los componentes de la aplicación y otras aplicaciones. • Manifest: El archivo AndroidManifest.xml que se encuentra dentro del proyecto de la aplicación, en el cual se agregan permisos, actividades, claves, etc. 3.1.7.1 APK Archivo para el Móvil APK, es el formato de archivo utilizado para distribuir e instalar software de aplicaciones en el SO (sistema operativos). Los celulares inteligentes usan SO (como las computadoras) que permiten a los usuarios ejecutar aplicaciones o programas desde el celular. Esta clase de ficheros contienen softwares para los teléfonos celulares con sistema operativo Android, permitiendo reconocer y ejecutar el programa. Un archivo APK, se pueden descargar directamente desde sitios web en el teléfono o primero en la computadora, para luego instalarlos mediante el uso de un cable USB o tarjeta SD. Google Play Store simplifica este proceso, poniendo a disposición todas las aplicaciones que se pueden descargar para el dispositivo del usuario con una interfaz amigable. Los archivos APK se guardan en un ZIP y se puedenabrir con cualquier herramienta de descompresión, son esencialmente un formato de paquetes basados en el formato de archivo JAR, con .apk como extensión y el nombre de archivo. Estos contienen todos los códigos, recursos, activos, certificados, y el archivo de manifiesto de ese programa. Para poder ejecutar un archivo .apk, se debes autorizar la instalación de aplicaciones en el equipo móvil. Para ello, se necesita ir a la opción de Configuración del equipo y al submenú de Seguridad o Aplicaciones para activar la característica de Fuentes Desconocidas. IPN-ESIMEZ APP REDEDOMEX 34 Figura 3.3 Menú de Seguridad en el Dispositivo Móvil. 3.2 Análisis del Costo/Beneficio de la Creación de la Aplicación El mercado de las aplicaciones móviles sigue en crecimiento, el usuario al tener varias opciones se fija en la calidad del servicio, esta competencia dentro del mercado que, si bien no es nuevo, aún falta por explotar. La presente información da sustento al valor del trabajo realizado para esta aplicación y su costo monetario en el sector público, también de ser costeada para el sector privado. Teniendo como horas hombre de trabajo entre 5 a 7 horas por 2 personas, de lunes a viernes dando un promedio de 20 días por mes, durante 12 meses, obteniendo 1,680 horas laboradas para la creación de este proyecto. Sumado a ello en México, un programador cobra en la actualidad: $57.00 por hora. Incluso con la devaluación que ha sufrido el peso contra el dólar, las personas de la industria han mantenido su poder adquisitivo, lo que convierte a los desarrolladores de aplicaciones móviles en un buen negocio para comercializar. IPN-ESIMEZ APP REDEDOMEX 35 Estado Salario Promedio Mensual (MXN) Morelos 37,827 Ciudad de México 36,605 Jalisco 34,955 Colima 34,388 Aguascalientes 33,656 Coahuila 32,607 Sonora 32,466 Promedio Nacional 32,087 Nuevo León 30,949 Guanajuato 30,419 Estado de México 27,747 Yucatán 26,843 Quintana Roo 25,396 Michoacán 25,230 Chihuahua 24,994 Querétaro 24,797 Puebla 24,311 Baja California 22,082 Sinaloa 19,085 Veracruz 18,058 Tabla 2 Sueldo bruto promedio por entidad federativa. mensual, en pesos mexicanos. Fuente:https://everac99.wordpress.com/2017/06/02/sueldos-it-en-mexico-2017-menos-equidad-de- genero-mas-cloud-computing/ En la tabla anterior muestra el salario promedio mensual que recibe un programador de aplicaciones, pero dependiendo de la distribución geográfica los valores monetarios cambian. Teniendo en cuenta que el desarrollo del proyecto ha sido elaborado por 2 personas, que en promedio se trabajan 7 horas por día, por un total de 20 días por mes, dados los siguientes datos sumaria la cantidad de $7,980.00 pesos mensuales por persona. Esto engloba la técnica de desarrollo de apps, los conocimientos técnicos y complejos, el tiempo destinado a planificar, diseñar, desarrollar e implementar la aplicación. En concreto por el trabajo realizado resulta un promedio de: $191,520.00 pesos para su venta al sector privado. Si se desea incorporar la app a una plataforma su costo se modifica dependiendo de la plataforma y el uso. Para la aplicación se sugiere que sea gratis su descarga con la renta de publicidad, ya que en el mercado las app “gratis” son las que están en los estándares más altos, haciendo invisible las de costo. IPN-ESIMEZ APP REDEDOMEX 36 Las app deben ser catalogadas antes de su lanzamiento, siendo este tipo de catálogo para que la publicidad mostrada sea apta para el usuario que pueda utilizar los transportes públicos. Si se desea ser autónomo o crear sociedad con la plataforma para declarar ingresos, hay obligaciones específicas que se deben tomar en cuenta para cada caso. Si se desea ser socio se debe tomar en cuenta que Google al ser una empresa gigante, si ocurre alguna controversia será complicado el tener una respuesta por parte de ellos. 3.3 Diseño. En la etapa de desarrollo se muestra el proceso del diseño de la aplicación. En la primera parte se localizará la zona a trabajar en el prototipo utilizando la herramienta de Google Maps, para poder visualizar la zona a trabajar a través de un mapa y poder tener la localización de las rutas que circulan por la zona de Nezahualcóyotl y delimitar las rutas con las que se trabajarán. Se mostrarán los pasos a seguir para la obtención de la API Key, esta API es necesaria para poder insertar un mapa de Google. Esta clave es un tipo de autenticación para hacer uso de aplicaciones con Google Maps, es importante tener esta clave ya que será solicitada por Android Studio para hacer uso de las API’s requeridas para poder utilizar la plantilla de los mapas de Google integrada en la plataforma de desarrollo y la habilitación de herramientas requeridas. Aunque existen dos versiones de esta clave, para el desarrollo de este prototipo se hará uso de la API estándar, la cual no tiene costo. 3.3.1 Ubicación del Mapa del Prototipo a Diseñar Como zona a trabajar se ha elegido a Nezahualcóyotl. IPN-ESIMEZ APP REDEDOMEX 37 Figura 3.4 Mapa del Municipio de Nezahualcóyotl. Fuente: Google Maps. Por medio de la base de datos proporcionada por la página web https://viadf.mx/ visualizamos las rutas existentes en este sector del Estado de México. 3.3.2 Obtención de la Clave de API Google Maps Para poder visualizar Google Maps en Android Studio es necesario dar de alta el proyecto de la aplicación a realizar, para este procedimiento se deberá realizar lo siguiente: Pasos para dar de alta la clave de API 1. Entrar a la consola de desarrolladores de Google. Se debe tener en cuenta que para la realización de este paso, se debe contar con una cuenta de correo en Gmail. https://viadf.mx/ IPN-ESIMEZ APP REDEDOMEX 38 Figura 3.5 Captura de pantalla de la Consola de Google. Fuente: Android Developers Recuperado de: https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H 2. Crear un nuevo proyecto, crear credenciales. Es esta sección es donde se asignará la clave de API. Figura 3.6 Opción de proyecto. https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H IPN-ESIMEZ APP REDEDOMEX 39 Figura 3.7 Captura de pantalla de la forma de dar de alta las credenciales. Fuente: Android Developers Recuperado de: https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H Figura 3.8 Obtención de la clave de API. Fuente: Android Developers Recuperado de: https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H IPN-ESIMEZ APP REDEDOMEX 40 3. Una vez que es asignada la clave de API se deben habilitar las bibliotecas que se muestran en la figura: Figura 3.9 APIs Habilitadas. Fuente: Android Developers Recuperado de: https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H 4. Código de prueba para visualizar el mapa proporcionado por Google Maps. Figura 3.10 Captura de Pantalla Código deejemplo de mapa. https://console.developers.google.com/apis/dashboard?project=apprededomex&duration=PT1H IPN-ESIMEZ APP REDEDOMEX 41 Figura 3.11 Captura de Pantalla de Ejemplo del Mapa en el Emulador. IPN-ESIMEZ APP REDEDOMEX 42 El código de la ilustración 10.3 se genera al seleccionar la plantilla de mapas en Android Studio, por defecto viene con la ubicación de Sídney, realizando una modificación al código y colocando las coordenadas requeridas, en este caso para México se han obtenido los resultados de la Figura 11.3. Android Studio al ser una interfaz de desarrollo gratuito proporciona a los desarrolladores una plataforma con guías que proporcionan la información requerida en el proceso de desarrollo de la aplicación. Las APIs necesarias para la visualización de los mapas dentro de la aplicación son: • Google Maps Android API • Google Maps Geocoding API • Google Maps Geolocation En la ilustración 9.3 se puede visualizar que dentro del proyecto creado están APIs están habilitadas para que se puedan observar dentro de la aplicación a programar. Cada API cumple con una función en específico la cual fue mencionada dentro del Funcionamiento de APIs de Google. Android Studio al momento de realizar un proyecto en el cual se haga uso de la plantilla de mapas nos pedirá la llave, de lo contrario al compilar el programa este no se verá. Por lo que la obtención de la llave de API es muy importante si se requiere hacer uso de los servicios de Google Maps. Se tomaron datos recopilados de los usuarios del transporte público en el estado de Nezahualcóyotl. En estos datos tomados de una encuesta realizada por la UNAM en cooperación con INEGI en el año 2015, el cual tenía por objetivo conocer el uso diario de los pobladores en los transportes públicos en el Estado de México. Esto para el mejoramiento de vías de transporte a una ciudad en constante cambio y expansión. Lo cual brinda una estimación de personas que diariamente transitan por este municipio y que podrían hacer uso de aplicaciones móviles que les muestren como llegar de un lugar a otro dentro del municipio de Nezahualcóyotl o que vías alternas tomar según sea su necesidad, así como la incorporación de los nuevos usuarios que hagan uso del transporte público que circula frecuentemente por esta zona, brindando la información necesaria para evitar tomar la ruta equivocada. A continuación se mostrarán algunas gráficas que mostrarán los resultados obtenidos en las encuestas. IPN-ESIMEZ APP REDEDOMEX 43 Gráfica 1 Número de usuarios que usan el transporte público. En este primer esquema se tiene como resultado una mayor movilidad de personas en edad de laborar por lo que el tener varias rutas alternativas por cualquier percance es una forma de prevenir retardos en sus trabajos. De estos en la encuesta se hicieron varias preguntas sobre cómo llegan a su destino y el uso que dan a las diferentes opciones de trasladarse a sus destinos, ya sean diarios o eventuales dentro del estado de México, en especial en el municipio de Netzahualcóyotl, obteniendo los siguientes resultados. 78.773 21.227 0 10 20 30 40 50 60 70 80 90 trabajo estudios Usuarios en el estado de mexico usuarios en el estado de mexico IPN-ESIMEZ APP REDEDOMEX 44 Gráfica 2 ¿Qué tipo de transporte se usa más? Se puede ver reflejado en este esquema que la aplicación está orientada para el 77% de los encuestados, la cual le sería útil por utilizar las rutas que recorren su municipio mayormente que el mexibus, como medio de transporte. Aun contando con la línea de mexibus los usuarios optan por otros medios de transporte, siendo el publico el de mayor demanda, esto refleja que los encuestados, a pesar de pertenecer a diferentes clases sociales, utilizan medios de transporte públicos, o al menos es su primera opción. 61 17 6 17 0 0 10 20 30 40 50 60 70 microbus mexibus taxi metro otro Tipo de transporte tipo de transporte IPN-ESIMEZ APP REDEDOMEX 45 Gráfica 3 Uso en la semana del transporte En esta gráfica se ve que los usuarios, usan frecuentemente el transporte público, y esto reflejaría un porcentaje aproximado de cuantas veces a la semana podrían acceder a la aplicación los usuarios, permitiéndole reducir el tiempo que les toma decidir que ruta tomar hacia su destino, de tener algún problema con la habitual o encontrar otras rutas que no conocen. Analizando la respuesta de los encuestados, se puede definir que la Aplicación es necesaria para personas que necesitan trasladarse continuamente, y esto corresponde a una problemática diaria de las personas. 21 57 21 0 10 20 30 40 50 60 1 - 5 veces 10 - 20 veces mas de 20 vees Uso semanal del transporte publico uso semanal del transporte publico IPN-ESIMEZ APP REDEDOMEX 46 Gráfica 4 ¿Qué tanto conocen las rutas? Las personas que usan el transporte público, no saben realmente por donde pasan las rutas, al menos están acostumbrados a tomar la ruta en una parada determinada, pero en sí, no conocen el recorrido total. Por lo que solo un 27% está consciente de los lugares por donde pasan el transporte público que usan frecuentemente, pero esto no determina si conocen las calles o si conocen el recorrido de la ruta desde su salida, por lo que se nota una falta de información entre todos los encuestados, y que la aplicación podría brindar. 27 73 0 10 20 30 40 50 60 70 80 Si No Conocimiento del recorrido de las rutas conosimiento del recorrido de las rutas IPN-ESIMEZ APP REDEDOMEX 47 Gráfica 5 Opciones de consultas Por último se preguntó a los usuarios como saber que ruta tomar cuando se dirigen a un lugar que no conocen, al no saber dónde realmente pasan las rutas, buscan maneras de conseguir esa información, llegando hasta el punto de hablar con extraños poniendo en riesgo su integridad. También se puede observar que la solución más “rápida” es tomar un taxi, sin embargo no todos están en la posición económica para recurrir a esta opción siempre que desean trasladarse, ya que no saben que ruta pasa por su destino. La falta de información hace que las personas pierdan su tiempo, teniendo que estar parando en cada parada que ven para preguntar si pasan por su destino, esto es incómodo no solo para el usuario, sino también para el chofer. 50 14 31 1 3 0 10 20 30 40 50 60 preguntar al chofer preguntar en la calle utilizar taxi consultar apps otros medios Llegar a nuevos lugares llegar a nuevos lugares IPN-ESIMEZ APP REDEDOMEX 48 3.4 Uso del móvil en los pobladores. México, es un país en el que más del 80% de los mexicanos cuentan con un dispositivo móvil, cuatro de cada diez poseen un smartphone por lo que el marketing móvil es un sector en clara expansión que se ve confirmado por el número creciente de clientes de México. El fuerte incremento del número de smartphones, está provocando que las redes sociales y correo electrónico se estén trasladando del PC al entorno móvil, y que las aplicaciones móviles también se estén convirtiendo
Compartir