Top Banner
INSTITUTO TECNOLOGICO REGIONAL INGENIERO EN EJECUCIÓN INFORMÁTICA APLICACIÓN PARA ANDROID BASADA EN TECNOLOGÍA WEB INFORME DE SEMINARIO DE TITULACIÓN PARA OPTAR AL TÍTULO PROFESIONAL DE INGENIERO EN EJECUCIÓN INFORMÁTICA PROFESOR SUPERVISOR: Cristian Leandro Jaque Opazo – Sebastián Guillermo Calisto Matus | Osorno Julio 2014 Carlos Celso Pérez
123
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

INSTITUTO TECNOLOGICO REGIONAL

INGENIERO EN EJECUCIN INFORMTICA

APLICACIN PARA ANDROID BASADA EN TECNOLOGA WEB

INFORME DE SEMINARIO DE TITULACIN PARA OPTAR AL TTULO PROFESIONAL DEINGENIERO EN EJECUCIN INFORMTICA

Carlos Celso Prez

PROFESOR SUPERVISOR:

Cristian Leandro Jaque Opazo Sebastin Guillermo Calisto Matus

|Osorno Julio 2014

INDICEResumen6Introduccin7CAPITULO I. Formulacin del Problema en Estudio81.1 Descripcin del Problema81.2 Objetivos91.2.1 General91.2.2 Especficos9CAPITULO II. Marco Terico102.1 Conceptual102.1.1 Aplicacin (APP)102.1.2 API, Interfaz De Programacin De Aplicaciones112.1.3 JavaScript122.1.4 SDK (Software Development Kit)132.1.5 APK (Android Aplication Package)132.2 Referencial142.2.1 Dispositivos mviles142.2.2 Smartphones152.2.4 Windows Phone172.2.5 BlackBerry OS182.2.6 iOS192.2.7 Android212.2.8 Por qu desarrollar una aplicacin en Android?222.2.9 Cmo crear aplicaciones Android?232.2.10 AIDE242.2.11 Mobincube252.2.12 Rheti262.2.13 Eclipse y PhoneGap282.2.14 Por qu Phonegap?302.2.15 Cmo subir aplicaciones para Android?31CAPITULO III. Metodologa de Trabajo323.1 Propuesta de solucin333.1.1 Alternativas333.1.1.1 Chile Travel343.1.1.2 Turismart35353.1.1.3 Smartour363.1.2 Evaluacin373.1.2.1 Mobincube373.1.2.1.1 Factibilidad tcnica373.1.2.1.2 Factibilidad econmica383.1.2.1.3 Factibilidad Operacional393.1.2.1.4 Factibilidad Implementativa393.1.2.2 AIDE403.1.2.2.1 Factibilidad tcnica403.1.2.2.2 Factibilidad econmica413.1.2.2.3 Factibilidad Operacional423.1.2.2.4 Factibilidad Implementativa423.1.2.3 Rheti433.1.2.3.1 Factibilidad Tcnica433.1.2.3.2 Factibilidad econmica433.1.2.3.3 Factibilidad operacional443.1.2.3.4 Factibilidad implementativa443.1.2.4 Eclipse junto a Phonegap453.1.2.4.1 Factibilidad tcnica453.1.2.4.2 Factibilidad Econmica463.1.2.4.3 Factibilidad Operacional473.1.2.4.4 Factibilidad Implementativa483.1.3 Solucin Propuesta493.1.4 Beneficio de la solucin493.3 Desarrollo Tcnico503.3.1 Marco del desarrollo503.3.1.1 Anlisis503.3.1.2 Diseo513.3.2 Plan del Proyecto523.3.3Preparacin del Proyecto523.3.4Anlisis533.3.5 Diseo533.3.6 Pruebas533.3.7 Desarrollo del Proyecto533.4 Anlisis543.4.1 Modelado de clases responsabilidades colaboraciones553.4.1.1 Identificacin de clases y objetos553.4.1.2 Anlisis del Dominio593.4.1.3 Especificacin de atributos623.5 Definicin de estructuras y jerarquas de PhoneGap.703.6 Crear Aplicacin con PhoneGap743.7 Encapsulado de la aplicacin - Uso de PhoneGap Build753.7.1Cordoba.js773.7.2 Estructura de Archivos de Phonegap783.8 Estructura de un proyecto793.9 DISEO833.9.1Diseo de sistema833.9.2 Particionar el modelo de anlisis833.9.3 Foto de subsistemas833.10 Componentes de interfaz de usuario843.11 Componente de la administracin de datos88CAPITULO IV. Resultados894.1 Plan de Pruebas894.2 Prueba del Sistema89Conclusin90

Resumen

El objetivo general de este proyecto es la creacin de un prototipo de Aplicacin para dispositivos Android que funcione con Geolocalizacin, permitiendo al usuario la utilizacin de esta, como gua de actividades en las distintas localidades del mundo.

El prototipo se desarrollar en un entorno Java Script, el cual ser necesario para la utilizacin de las APIs de Google, ya que es en este lenguaje, en el cual estn basadas. Adems se utilizara HTML5, el encargado de detectar la Geolocalizacin del usuario.

La utilizacin de las Apis de Google en el prototipo, permiten el poder insertar marcadores en el mapa, que son la forma ideal para mostrar al usuario puntos de inters, todo esto por medio de ventanas emergente (Tooltip), las cuales se activarn, entregando una informacin especfica, al desplazarse sobre o cerca de stos.

Introduccin

Hoy en da la cantidad de turistas que llegan a chile es cada vez mayor a aos anteriores, por lo mismo se realizara una investigacin basada en la opcin de crear una aplicacin que facilite al usuario, especficamente el turista, la bsqueda de informacin relacionada con eventos, fiestas y ferias.

El objetivo de este proyecto es el poder crear y utilizar una aplicacin Android en dispositivos mviles, App en la cual por medio de listas y mapas, utilizando geolocalizacin, entregara toda la informacin necesaria al usuario.

El documento comenzara con la problemtica del proyecto y los objetivos a investigar, dando paso posteriormente a la exposicin de conceptos tericos y referenciales, finalizando con un estudio basado en la metodologa orientada a objetos.

CAPITULO I. Formulacin del Problema en Estudio

1.1 Descripcin del Problema

Con la llegada de los Smartphones y Tablet, la utilizacin de un dispositivo mvil es indispensable en el diario vivir de una persona, ya que es posible ocuparlos como un simple despertador, o hasta como mapas y GPS para su ubicacin, en algn lugar especfico.

Existe una demanda que es evidente hoy en da, segn el Instituto Valenciano de Tecnologas Tursticas, Las aplicaciones mviles vinculadas con el sector turstico han adquirido un papel destacado en la organizacin del viaje. Su facilidad de uso e inmediatez en las respuestas, la localizacin y socializacin son los motivos de su xito entre los turistas. (tursticas I. V.).

Es por esto que surgi la necesidad de crear una aplicacin para Android, para que cada vez sea ms cmodo para el usuario, la forma de conocer los eventos de los distintos lugares del mundo.

El problema a resolver es encontrar la forma ms fcil de hacer llegar informacin a todos aquellos que necesiten de una gua turstica, de manera rpida y con informacin fidedigna, por medio de un dispositivo mvil, tan solo instalando una aplicacin Android. Aplicaciones de este tipo es posible encontrarlas en Play Store, pero estas solo se centran en las principales capitales del mundo.

1.2 Objetivos

1.2.1 General

Crear prototipo de Aplicacin para dispositivos Android que funcione con Geolocalizacin, permitiendo al usuario la utilizacin de sta, como gua de actividades y eventos en las distintas localidades del mundo.

1.2.2 Especficos

.- Investigar y analizar sobre sistemas operativos mviles existentes..- Realizar anlisis de las distintas herramientas de programacin a utilizar para la creacin de la aplicacin Android..- Investigar como utilizar Java Script para extraer informacin desde una base de datos, y adems de conectar App con la API de Google..- Crear diseo de prototipo..- Desarrollar prototipo programando en Java.

CAPITULO II. Marco Terico2.1 Conceptual

Para la realizacin de este proyecto es necesaria la identificacin de todos aquellos conceptos informticos que puedan tener alguna dificultad de entendimiento, por lo tanto, y para efectos de anlisis es necesario establecer las siguientes definiciones:

2.1.1 Aplicacin (APP)

Aplicacin tambin abreviado APP viene de la palabra Application, trmino el cual se comenz a utilizar aproximadamente en el ao 2008, con el lanzamiento de App Store y Android Market.En trminos simples Una App es una aplicacin de software que se instala en dispositivos mviles o tablets para ayudar al usuario en una labor concreta, ya sea de carcter profesional o de ocio y entretenimiento. (Vilela)

Existe una gran cantidad de aplicaciones en el mercado, pero slo se denomina as a aquellas que han sido creadas con un fin determinado, sea, para la realizacin de tareas concretas. No se considerara una aplicacin a un sistema operativo, ni una suite como por ejemplo (adobe), pues su propsito es general.

En el campo de las aplicaciones nos encontramos con las aplicaciones web, las cuales segn JM Pereda En ingls se denomina browser-based aplication, es decir, aplicacin basada en navegadores. Son programas que se disean para funcionar a travs de un navegador de internet, es decir, son aplicaciones que se ejecutan de forma online. (http://jmpereda.wordpress.com, 2007)

En otras palabras una aplicacin web es un conjunto de pginas que interactan entre ellas, con diversos recursos en un servidor web, incluidas bases de datos. Esta interaccin permite implementar caractersticas en un sitio web, como administradores de noticias y contenidos. Adicionalmente tambin es posible realizar consultas a bases de datos, registrar e ingresar informacin.2.1.2 API, Interfaz De Programacin De Aplicaciones

API es una interfaz que da acceso limitado a la base de datos de una aplicacin web, evitando que se d a conocer o se pueda acceder a el cdigo fuente de una aplicacin original.

Las APIs no tan solo son encontradas en aplicaciones web sino que tambin se encuentran dentro de las funciones de Geolocalizacin, las cuales sern las utilizadas en el proyecto a realizar.

En otras palabras las APIs son una gran cantidad de funciones y lneas de cdigos condensadas y comprimidas para ayudar y facilitar el trabajo del programador, adems de poder manipular bases de datos por medio de aplicaciones.

Ejemplos de las APIs ms utilizadas en la actualidad tenemos la de Google Maps, la cual permite incrustar mapas del servicio de Google en alguna aplicacin, solamente utilizando JavaScript. Una de las ltimas APIs anunciadas por Google fue la del famoso sitio web YouTube, permitiendo a los usuarios el poder crear pginas web o aplicaciones que obtengan informacin por medio de los videos.

2.1.3 JavaScript

JavaScript es un lenguaje de programacin que es utilizado principalmente para la creacin de pginas web dinmicas, aquellas que se componen de efectos y animaciones.JavaScript es una mezcla entre Java y HTML, creada por Brendan Eich, el cual despus de varios aos, y de pasar por una serie de nombres, en el ao 1995 lo bautiza con el nombre de JavaScript.

Muchas personas tienden a confundir el lenguaje de programacin JavaScript con Java, siendo estos dos muy diferentes. Ejemplo de esto es que JavaScript es un lenguaje de programacin orientado a eventos, mientras que Java es orientado a objetos.

JavaScript se puede definir como un lenguaje de programacin interpretado, por lo que no necesita compilar algn programa para su ejecucin, esto quiere decir que es posible probar cualquier programa escrito en JavaScript directamente en algn navegador web sin ningn tipo de inconvenientes.

JavaScript al ser un lenguaje de programacin orientado a eventos, permite en su programacin crear pginas dinmicas, comprobacin de datos mediante formularios, el uso de los elementos en las pginas web, intercambio de informacin, adems de manipulacin de grficos y textos.

2.1.4 SDK (Software Development Kit)

Conjunto de herramientas que permiten a los programadores crear aplicaciones para un sistema operativo en particular. Ejemplo de esto, son ciertos paquetes de software, computadoras, consolas de video juego, entre otros, ya que cada uno de ellos cargan las APIs correspondiente al sistema, en el cual se est realizando la aplicacin.

La mayora de los SDK disponibles son gratuitos y se distribuyen libremente por la web, incluyendo dentro de la descarga, un tipo de explicacion de lo que contiene, adems de cdigos de ejemplos y manuales de uso.

Los Kit de Desarrollos ms conocidos en la actualidad son los que permiten trabajar para iOS y Android, es en este ltimo, cada vez que aparece alguna versin nueva de su sistema operativo, Google se encarga de liberar el cdigo fuente y publicar el SDK de la nueva versin de Android, permitiendo a los desarrolladores adaptar sus aplicaciones a la nueva versin.

2.1.5 APK (Android Aplication Package)

APK es simplemente la abreviatura de un archivo de instalacin pensado para el sistema operativo de Google, Android. El archivo .apk contiene tanto la informacin como el instalador, los cuales permiten guardar y ejecutar una aplicacin en un dispositivo.

2.2 Referencial

2.2.1 Dispositivos mviles

Los dispositivos mviles son aparatos electrnicos de tamao pequeo, creados con el fin de que los usuarios puedan configurarlos a su gusto. Estos dispositivos cuentan con una serie de caractersticas, dentro de las cuales destacan sus capacidades especiales de procesamiento, su memoria limitada, adems de diseos especficos para la realizacin de alguna funcin principal, y el poder estar conectado a la red, de manera permanente o intermitente.

Caracterstica destacable e importante en un dispositivo es el concepto de movilidad, ya que un dispositivo mvil al ser pequeo permite su fcil traslado y empleo durante su transporte.

Existen dos tipos de dispositivos mviles, los que poseen cables y los que no. Como dispositivo con cable tenemos a los PDA, los cuales necesitan de uno para conectarse a una computadora, para as poder obtener o enviar datos y aplicaciones.

Por otro lado tenemos los telfonos mviles o tambin llamados Smartphones, los cuales estn equipados con caractersticas especiales, permitindoles por ejemplo el poder conectarse mediante un pequeo navegador web a internet.Como ejemplos de dispositivos mviles tenemos los siguientes: Pginadores Comunicadores de bolsillo Sistemas de navegacin de automviles Sistemas de televisin e internet Telfonos celulares TabletHoy en da todos los dispositivos mviles han ido evolucionando junto a sus sistemas operativos, todo segn las necesidades de los usuarios. En la actualidad se pueden encontrar dos tipos de dispositivos, los que poseen un teclado y los que tienen una pantalla tctil para la introduccin de datos.2.2.2 Smartphones

Los Smartphones o tambin llamados telfonos inteligentes son los nuevos telfonos mviles disponibles en el mercado, poseedores de mucha ms capacidad de proceso y movilidad que otros dispositivos tradicionales, llevndolos a ser los aparatos tecnolgicos multifuncin ms demandados en la actualidad por los usuarios del mundo.Un Smartphone es un ordenador de bolsillo, vindolo desde el punto de vista hardware, ya que gracias a las tecnologas microelectrnicas se han ido incorporando funciones que lo acercan mucho ms a otros dispositivos de proceso aparentemente ms potentes y verstiles. Un telfono mvil principalmente est compuesto por un teclado, una pantalla tctil, adems de un importante tamao de memoria.Todo Smartphone requiere de un sistema operativo para su correcto funcionamiento, el cual debe estar totalmente adaptado a la movilidad, y que en la actualidad resaltan 5 dominantes del mercado. iOS Android Windows Phone Symbian Blackberry OSEn la actualidad los Smartphones empiezan a ser los dispositivos mviles ms vendidos en el mundo, sobretodo el preferido por los jvenes, los cuales reconocen en un porcentaje elevado de casos de que no pueden vivir sin l, todo gracias a la gran cantidad de funciones y aplicaciones desarrolladas.Imagen 2.1 - Esquema Cambios del Smartphene

Fuente de elaboracin propia

2.2.3 Tablet

Una Tablet es un computador porttil de mayor tamao que un Smartphone, lanzado al comercio a principios del siglo XXI por Microsoft, el cual con su ejemplar la Microsoft Tablet PC, no logra el xito esperado, ya que no le es posible abarcar una gran cantidad de puntos de venta. En el ao 2010 Apple present su dispositivo llamado IPad, logrando el xito total, gracias a su Smartphone llamado iPhone, el cual sirvi de base para la creacin del IPad.

Las Tablet son dispositivos mviles con forma de tabla, las cuales no poseen teclado, pero si una pantalla gigante sensible al tacto. En la actualidad todos los grandes fabricantes estn presentando estos dispositivos, la mayora con una pantalla de 7 a 10 pulgadas, y con conexin 3G, WIFI o ambas.El principal objetivo de las Tablet es el acceso a internet y la navegacin web, pero adems es posible la lectura de correos, edicin de documentos, entre otras actividades de fcil ejecucin en estos dispositivos.Al igual que los Smartphones las Tablet necesitan de un sistema operativo para poder operar. En la actualidad los principales sistemas utilizados por las grandes empresas son: Windows 7 o Windows CE de Microsoft Android iOSEl diseo de las Tablet se centr principalmente en personas que por razones personales o profesionales, deben de estar siempre conectados, ya sea en cualquier lugar del mundo, y que adems, no se sientan cmodos con las pantallas de sus Smartphones. Imagen 2.2 - Tablet

2.2.4 Windows Phone

Windows Phone es un Sistema Operativo sucesor a Windows Mobile, desarrollado por Microsoft e implementado principalmente en los Smartphone de la empresa Nokia con su lnea de equipos Lumia.En primera instancia Microsoft mostr Windows Phone el 15 de febrero del ao 2010, durante un congreso mundial de dispositivos en Barcelona, para su posterior lanzamiento el 21 de octubre del 2010 en Asia y Europa, adems de EEUU el 8 de Noviembre del mismo ao.En la actualidad Windows Phone se encuentra en su versin 8, alcanzando el tercer lugar como el sistema operativo ms utilizado en el mundo, detrs de iOS y Android.Windows Phone es basado en el ncleo del sistema operativo Windows CE (Embedded Compact), el cual su principal caracterstica es su compatibilidad con los telfonos inteligentes.Windows Phone est compuesto por un conjunto de APIs de Microsoft Windows, adems de un diseo muy similar a las versiones de escritorio de Windows, todo con el fin de presentar una interfaz amigable al usuario comn. Esta interfaz utiliza la tecnologa multi-touch en su pantalla OLED, la cual beneficia la duracin de la batera, todo gracias a los temas oscuros de Windows Phone, el cual ocupa mayoritariamente pixeles negros, los que no emiten luz.Una desventaja importante de Windows Phone es que no posee una buena cantidad de aplicaciones, todo lo contrario a iOS y Android, los cuales superan con creces cualquier expectativa en ese aspecto.Al igual que otros sistemas operativos, Windows Phone cuenta con una tienda virtual llamada Marketplace, en la cual es posible encontrar aplicaciones, juegos, pelculas entre otras cosas. Cabe destacar que para descargar aplicaciones en los telfonos es necesario contar con Windows Phone 7.5. Imagen 2.3 Smartphone Windows Phone SO

2.2.5 BlackBerry OS

BlackBerry Os es un sistema operativo multitarea desarrollado por la empresa canadiense RIM (Research In Motion) en el ao 1999, creado solo para una gama de dispositivos mviles llamados BlackBerry los cuales pertenecen a la misma empresa.Los BlackBerry son dispositivos mviles inalmbricos, los cuales son capaces de recibir correos electrnicos, SMS, adems de poder realizar llamadas telefnicas y navegar por la web.BlackBerry OS surge a finales de los noventa, como un sistema operativo diseado para uso profesional, preferido sobre todo en mbitos de trabajo, para los que quieren seguridad basada en sus correos electrnicos y administracin de contactos, adems de una agenda profesional, libreta de direcciones y el permiso de sincronicin con un ordenador personal, todo esto mediante programas externos compatibles con los dispositivos BlackBerry.Hoy en da BlackBerry OS se diferencia mucho de los dos grandes Sistemas Operativos (Android e iOS), pero sin embargo, posee una gran comunidad de usuarios, los cuales lo valoran de manera positiva, especialmente cuando se trata de adquirir un dispositivo para trabajar y consultar de manera continua el correo electrnico.Los primeros modelos de Smartphone BlackBerry disponan de un teclado QWERTY, casi idntico al de un computador personal, aunque a medida que pasaron los aos ha ido evolucionando a la pantalla touch.Al igual que en otros sistemas operativos mviles, los desarrolladores independientes tambin pueden crear aplicaciones para los BlackBerry, pero si se necesita acceso a ciertas funcionalidades de los dispositivos, es necesaria una firma digital que los asocie a una cuenta de desarrollador RIM.

Imagen 2.4 Smartphone BlackBerry SO

2.2.6 iOS

IOS es un sistema operativo mvil, desarrollado por Apple Inc en el ao 2007. Corresponde a una versin reducida del poderoso sistema operativo Mac OSX, diseado especficamente para sus dispositivos mviles IPhone, IPad y IPod.A diferencia de otros sistemas operativos mviles, tales como Android y Windows Phone, iOS no permite su instalacin en hardware que no sean de Apple.Este sistema operativo se basa en el concepto de manipulacin directa, lo que permite ofrecer al usuario una experiencia nica en un dispositivo, todo por medio de gestos multitctiles como toques y deslices, adems de un funcionamiento sencillo y en general bastante bueno.IOS poseedora de una tienda virtual llamada App Store, contiene una gran cantidad de aplicaciones, las cuales son una de las claves en el xito del Smartphone llamado IPhone. App Store ofrece aplicaciones para todos los gustos, desde las ms tiles y complejas hasta las ms sencillas, algunas adquiribles con pago mediante tarjeta de crdito y otras de manera gratuita. A partir del ao 2012 App Store contiene ms de 700.000 aplicaciones para iOS, las cuales en conjunto suman ms de 40 millones de descargas.La pantalla principal de iOS muestra iconos de las aplicaciones instaladas en el dispositivo, adems de una barra inferior en la cual los usuarios pueden depositar sus aplicaciones de uso ms frecuente.Para poder desarrollar aplicaciones en iOS es necesario que estas estn escritas y compiladas especficamente para la arquitectura ARM e iOS. Desde el ao 2008 el SDK de iOS fue liberado para que cualquier desarrollador pueda crear aplicaciones para los distintos dispositivos de Apple, teniendo en cuenta de que solo es posible subir una APP despus de ser aprobada y cancelada la cuota en IPhone Developer Program. Desde el ao 2012 el costo de inscripcin en IPhone Developer Program es de EE.UU $99 en su versin bsica.Como todo sistema operativo iOs cuenta con un navegador web, llamado Safari, y que al igual que otros, tiene la capacidad de ejecutar aplicaciones web. Safari no es compatible con Adobe Flash, sea, no es posible ver contenido en flash, ya que el SDK de Apple impide que se ejecute algn cdigo externo. Desde el ao 2009 Apple restringe el uso de tecnologas que requieran Flash Player, y hasta que esto se modifique, Adobe no puede ofrecer Flash para los dispositivos mviles IPhone, IPod y IPad.Hoy en da iOS se encuentra en su versin 8, considerado por algunos, el sistema operativo ms avanzado del mundo y el cual se cre con el fin de mejorar algo que ya era excelente, permitiendo a usuarios nuevos, familiarizarse con sus dispositivos de manera ms simple, siendo ms til y agradable a la vista.

Imagen 2.5 Smartphone iOS SO

2.2.7 Android

Qu es Android?Android es un sistema operativo mvil basado en Linux, diseado principalmente para telfonos inteligentes y Tablet.Android es creado por la empresa Android Inc. en el ao 2005 para posteriormente ser vendido a Google y presentado al pblico con el dispositivo mvil HTC DREAM, como el primer Smartphone con sistema operativo Android a la venta, llegando a ser en el ao 2011 como el OS ms usado por la poblacin mundial, con ms del 50.9% de las preferencias.Al igual que otros sistemas operativos mviles, Android cuenta con una tienda virtual llamada Play Store, en la cual cada usuario tiene acceso a una gran cantidad de aplicaciones pagadas y gratuitas. Importante es que para poder utilizar Play Store es necesaria tener una cuenta de correo Gmail, la cual es asociada al dispositivo mvil.Hoy en da Android posee ms de 650.000 aplicaciones disponibles en su tienda virtual, la mayora de ellas gratuitas.

Android al ser un sistema operativo libre, gratuito y multiplataforma, proporciona todas las interfaces necesarias para desarrollar todo tipo de aplicaciones, con las cuales se puede acceder a algunas funciones del telfono, tales como; GPS y agenda, por medio de un lenguaje de programacin muy conocido y utilizado en la actualidad llamado JAVA.En la actualidad Android se encuentra en su versin 5.0 Lollipop, el cual fue creado con un diseo ms elegante, sencillo, inteligente y totalmente personalizable, con un rendimiento mejorado, incorporando una gran cantidad de nuevas funciones.Uno de los desafos para Google en la actualidad es llevar su sistema operativo a todos aquellos dispositivos con los que las personas interactan a diario, ejemplo de ellos son relojes, Smartphone, Tablet, televisores, microondas e incluso automviles.

Imagen 2.6 Android SO

2.2.8 Por qu desarrollar una aplicacin en Android?

En la actualidad existe una gran cantidad de empresas fabricantes de Smartphones, y que hoy en da utilizan el sistema operativo Android por defecto, permitiendo a los usuarios una gran cantidad de servicios a comparacin de otros dispositivos.Una de las ventajas al trabajar con Android es que al ser un sistema operativo de cdigo abierto cualquier persona puede crear aplicaciones para este, todo gracias a que Google en el ao 2007 liber Android bajo licencia apache.Android al ser multitarea, es capaz de hacer funcionar a la vez varias aplicaciones, sin tener que cerrarlas, sino que gestionando su uso y dejarlas en inactividad, permitiendo as el uso no tan excesivo de la batera de los dispositivos, al igual que un excelente rendimiento.HTC, Motorola, LG y Samsung son los principales fabricantes de dispositivos con sistema operativo Android, y los cuales la mayora de personas prefieren, precisamente por la amplia gama de equipos de diferentes valores, diseos y especificaciones.En definitiva Android es un sistema operativo muy potente, con una enorme cantidad de opciones que dotan a este sistema de posibilidades infinitas, todo gracias a una amigable interfaz la cual permite hacer mucho ms que llamadas telefnicas o l envi de mensajes de texto.

2.2.9 Cmo crear aplicaciones Android?

En la actualidad existen muchas formas para poder desarrollar alguna aplicacin Android, lo importante es saber que se necesita tener conocimientos de programacin, especficamente en el lenguaje llamado JAVA Script, todo esto si es que para su desarrollo se ocupara algn IDE para su programacin, ya que hoy en da existen pginas web y aplicaciones especializadas en el desarrollo de APPs Android, las cuales no necesitan de un experto en programacin para la creacin de estas.

2.2.10 AIDE

AIDE es el primer IDE que permite programar, modificar cdigo y compilar una aplicacin directamente desde el dispositivo mvil con sistema operativo Android.

AIDE es un software de fcil acceso, ya que se encuentra de forma gratuita en Play Store, tanto para Smartphones o Tablets.

Este software tiene dentro de sus principales caractersticas el poder realizar comprobacin de errores en tiempo real, adems de que sus proyectos son 100% compatibles con los de Eclipse, permitiendo el poder trasladar proyectos entre ambos IDEs sin ningn problema.

Imagen 2.7 IDE AIDE

2.2.11 Mobincube

Mobincube es un software que permite al usuario comn y corriente el poder construir aplicaciones sin necesidad de ser un programador experto, basta con solo registrarse para comenzar a programar, o bien contratar los planes Premium para acceder a una serie de servicios adicionales.

Mobincube permite la creacin de aplicaciones de cualquier temtica, solo basta dejar llevar la imaginacin en la autntica herramienta de edicin de App, junto a su interfaz visual de edicin. Solo es necesario aadir las pantallas para luego arrastrar, soltar, copiar, pegar, entre otras opciones.

Imagen 2.8 IDE Mobincube

2.2.12 Rheti

Rheti es una aplicacin Android, la cual permite al usuario comn la creacin de una App de manera muy fcil y sin la necesidad de escribir una lnea de cdigo.Creada por Juan Porras y Ralph Tavarez, Rheti llega como una herramienta visual, la cual permite al usuario colocar botones y campos necesarios con solo tocar la pantalla de tu dispositivo, basta con pulsar dichos botones para editar conexiones y eventos que se puedan ejecutar.

Rheti, muy distinto a los entornos de desarrollo integrados (IDE), permite a los usuarios crear aplicaciones nativas desde Android y para Android.

Para poder adquirir Rheti es necesario poseer un Smartphone con sistema operativo Android, para su posterior descarga desde su tienda virtual Google Play. Rheti es una aplicacin gratuita la cual se financia mediante temas y funcionalidades Premium que pueden ser compradas desde la aplicacin.

Adems de pginas web y APPs que permiten la creacin de aplicaciones Android, tambin es posible encontrar otros entornos de desarrollo integrados (IDE), los cuales se pueden definir como un programa que permite el desarrollo de cdigo en un lenguaje especifico, y que incorpora la escritura de cdigo junto a su compilacin y ejecucin.

Hoy en da existen varios IDEs, dentro de los cuales destacan

Eclipse NetBeans Adobe Dreamweaver

Estos, junto con la utilizacin de tecnologas web (Html5, CSS3), el lenguaje de programacin JavaScript, y la utilizacin del complemento Phonegap Build (Apache Cordoba), es posible la creacin del instalador (APK), sea el archivo ejecutable de la aplicacin Android, para su posterior instalacin en algn dispositivo.

Imagen 2.9 IDE Rheti

2.2.13 Eclipse y PhoneGap

Como ya antes dicho, existe una gran cantidad de formas para realizar aplicaciones funcionales para Android, desde alternativas online, hasta diversos tipos de IDEs para el desarrollo.

Junto con la utilizacin del IDE Eclipse, se puede utilizar el framework PhoneGap, el cual permite manipular una gran cantidad de lenguajes de programacin, tales como Java Script, el cual es el elegido para la creacin de la aplicacin.

Elentorno de desarrollo integrado(IDE) de Eclipse, emplea mdulos para proporcionar toda su funcionalidad al frente de la plataforma, a diferencia de otros entornos monolticos donde las funcionalidades estn todas incluidas.

El SDK de un proyecto en Eclipse, incluye todas las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador de Java interno y un modelo completo de los archivos fuente de Java.

PhoneGap es un framework desarrollado por Nitobi, el cual lo vendi a la empresa Adobe Systems aos ms tarde.

PhoneGap fue creado con el fin del desarrollo de aplicaciones mviles, todo mediante el desarrollo de herramientas genricas como JavaScript, HTML5 y CSS3, entregando como resultado aplicaciones hbridas, sea, aplicaciones que no son realmente nativas al dispositivo mvil.

Cada vez crece ms la tendencia a utilizar lenguajes intermedios para implementar aplicaciones que se ejecutarn sobre dispositivos mviles, entendiendo como lenguaje intermedio aquellos que no son exclusivos de la plataforma nativa del dispositivo sobre la que se ejecutan, y que pueden ser portados a diferentes dispositivos, valindose de lenguajes de programacin de script.

PhoneGap funciona como puente de acceso de JavaScript a las herramientas nativas del sistema operativo y hardware de los dispositivos mviles tales como:

Acelermetro Cmara Contactos Eventos Geolocalizacin Redes o almacenamiento

Imagen 2.10 Interfaz IDE Eclipse y el framework Phonegap

2.2.14 Por qu Phonegap?

Para el desarrollo del proyecto se utilizara el framework llamado PhoneGap, ya que es un software muy verstil y de fcil entendimiento para el programador, y del cual es posible encontrar en la web, una gran cantidad de documentacin para su mayor entendimiento.

PhoneGap es el software ideal para la creacin de aplicaciones informativas, ya que gracias a este, es posible mostrar informacin esttica o dinmica, desplegar textos o inclusive agregar videos grficos de alta calidad.

Adems de aplicaciones Informativas, en PhoneGap es posible la creacin de APPs de todo tipo, ejemplo de esto son las que nos sirven para la realizacin de tareas y operaciones de nuestro mvil, tales como:

Calculadoras Monitores Lectores de cdigo QR

Una caracterstica importante de PhoneGap, y que lo diferencia del resto, es su ventaja al crear aplicaciones completas, utilizando los mismos lenguajes que se implementan para crear sitios web, sea HTML5, CSS3 y Java Script. Esto, al ser adaptado y modificado un poco, permite utilizar una aplicacin web ya terminada, y convertirla en una aplicacin Android mvil nativa.

2.2.15 Cmo subir aplicaciones para Android?

Ya realizada la creacin de la aplicacin Android, es posible subirla a la tienda virtual de este sistema operativo, Play Store.

Importante es que para poder subir una aplicacin Android, es necesario contar con una firma, la cual certifica que alguien es desarrollador. La inscripcin como desarrollador de aplicaciones tiene un valor de 25 Dlares, con una duracin de por vida.

Una vez que ya se ha registrado como desarrollador, se puede subir aplicaciones a Google Play, todo mediante la consola para desarrolladores que este entrega.

Ya en la consola para desarrolladores cabe destacar 5 pasos importantes para poder realizar una correcta subida de alguna aplicacin.

1. Acceder a la consola de Google Play para desarrolladores.2. En la parte superior de la pantalla, hacer clic en Aadir nueva aplicacin.3. En el men desplegable, seleccionar el idioma predeterminado y aadir un ttulo para la aplicacin.4. Escribir el nombre de la aplicacin tal y como se quiere que aparezca en Google Play.5. Seleccionar Subir APK o Preparar ficha de Play Store para aadir la informacin de la aplicacin.Imagen 2.11 Interfaz Para subir Una APP a la tienda Play Store

CAPITULO III. Metodologa de Trabajo

El prototipo ser diseado con una serie de herramientas que colaboran con la creacin de programas en Java, tales come Eclipse, PhoneGap y JDK. Debido a esto, es necesaria la utilizacin de la metodologa de trabajo orientada a objeto, por lo que toda la documentacin, herramientas, soporte y procedimientos sern basados en esta.

Las fases del desarrollo sern las siguientes:

Anlisis: Realizar un anlisis para determinar las clases ms importantes del prototipo.

Diseo: Realizar un diseo para determinar si las clases y conexiones pueden ser implementadas, utilizando una herramienta CASE para los diagramas de casos de usos y diagrama de clases.

Prototipo: Compilar el prototipo usando el servicio PhoneGap Build el cual permite transformar cualquier servicio web basado en HTML5, CSS3 y JavaScript en una App para cualquier dispositivo.

Pruebas: Realizar algunas pruebas para descubrir errores en el prototipo.

Evaluacin: Obtener realimentacin de las pruebas realizadas al prototipo.

3.1 Propuesta de solucin

3.1.1 Alternativas

Para resolver la problemtica es necesario encontrar una forma ms econmica para reemplazar el mtodo de distribucin de informacin a los turistas utilizados hoy en da, esta solucin ser implementada en la mayora de los dispositivos mviles dominantes en la actualidad.

En el centro de esta problemtica existe la necesidad de satisfacer la necesidad de los usuarios, adems de bajar los costos de materiales y servicios, los cuales son necesarios a los momentos de la entrega de informacin turstica a todos aquellos que la necesiten.

Teniendo en cuenta lo anterior existen varias alternativas en la actualidad, dentro de las cuales destacan las siguientes.

3.1.1.1 Chile Travel

En el ao 2013, especficamente el 28 de agosto, esta aplicacin fue lanzada por SERNATUR, de forma gratuita y para todos los dispositivos con sistema operativo Android e iOS.

Principalmente Chile Travel entrega toda la informacin necesaria para poder visitar el pas, facilitando el conocer alojamientos cercanos, datos de entretencin, servicios de alimentacin entre otras actividades.

Chile Travel es una aplicacin que funciona con retroalimentacin, es decir que se completa de informacin gracias a todos los datos proporcionados por el Servicio Nacional de Turismo (SERNATUR).

Imagen 3.1 Interfaz Chile Travel

3.1.1.2 Turismart

Turismart consiste en una aplicacin desarrollada con fines tursticos, la cual fue la ms consultada y descargada en el verano del 2012, con ms de 3000 usuarios en solo 3 meses. Gracias a esto en el ao 2012 y 2013 esta aplicacin recibi dos reconocimientos importantes, el primero entregado a travs del Capital Abeja de Sercotec y el segundo obtenido por el segundo lugar regional en el concurso Mujer Microempresaria Turstica, entregada por SERNATUR Tarapac.

Turismart est disponible para los sistemas operativos iOS y Android, est compuesta por un men con 9 categoras disponibles; panoramas, shopping, restobar, talleres, turismo, alojamientos, fitness, salud y servicios.

Una de las ventajas de esta aplicacin es que no solo puede ser utilizada por los turistas, sino que por todos aquellos que quieran saber cosas tan bsicas como servicios de emergencias mdicas o talleres culturales de la ciudad en la que viven.

Imagen 3.2 Interfaz Turismart

3.1.1.3 Smartour

Smartour fue una de las primeras agencias de viajes pensadas para Smartphones en Chile, presentada en la regin metropolitana en el marco de la entrega de Sellos de Calidad turstica.

Smartour es una aplicacin que muestra una gran cantidad de productos tursticos, en una interfaz atractiva y geo referenciada, es decir, muestra todos los servicios y productos alrededor del usuario, o en algn punto especfico a visitar.

Smartour funciona de tres maneras distintas, permitiendo al usuario buscar cosas alrededor, por algn destino especfico o buscando por productos especficos. Esta bsqueda es entregada al usuario por medio de un mapa, o de una lista, ordenada desde la ms cercana a la ms lejana.

Imagen 3.3 Interfaz Smartour

3.1.2 Evaluacin

En esta etapa se evaluar con un estudio de factibilidad las tres alternativas antes propuestas.

3.1.2.1 Mobincube

3.1.2.1.1 Factibilidad tcnica

Los dispositivos a utilizar para esta aplicacin estn disponibles hoy en da, adems de tener la ventaja al ser de fcil acceso para cualquier empresa y/o persona, teniendo en cuenta de que los requerimientos de estos no son los de mayor gama, utilizando tecnologa que es nueva y que estn disponible en el pas.

Se necesita un equipo con caractersticas medias, que la mayora de los usuarios poseen.Las caractersticas del dispositivo son las siguientes:

MicroprocesadorProcesador Intel Core i3-2328M de segunda generacin a 2,20 GHz MemoriaSDRAM DDR3 de 4 GB (1 DIMM) Grficos de videoIntel HD Graphics 3000 con memoria total de grficos de hasta 1696 MB PantallaPantalla con retroiluminacin LED de alta definicin BrightView de 14 pulgadas en diagonal (1366 x 768) Disco duro Disco duro de 500 GB (5400 RPM)

En el caso del costo, Mobincube no presenta inconvenientes, ya que es gratuita y accesible con una conexin a internet para su utilizacin.

3.1.2.1.2 Factibilidad econmica

Para implementar el Software, se deben considerar lo siguiente valores:

En este caso se considera el costo de uno de los diversos tipos de planes con los que trabaja Mobincube.

Imagen 3.4 Costo planes Mobincube

Tomando en cuenta los diferentes tipos de planes se elige el plan Home, el cual tiene todo lo necesario para realizar el Prototipo.Tabla 3.1 Detalle de costos MobincubeDescripcinCantidadvalor

Sistema Operativo (Windows 8.1 OEM 32 BIT)1$68.390

Notebook1$ 349.990

Tipo de plan anual (HOME) 1$142.152

TOTAL$560.532

3.1.2.1.3 Factibilidad Operacional

Al implementar y acceder al software es posible encontrarse con una excelente interfaz visual de edicin, donde cualquier persona puede crear APPs sin saber programar.Gracias a Mobincube es posible crear aplicaciones de cualquier temtica, ya que es poseedora de una autentica herramienta de edicin de aplicaciones, adems de contar con caractersticas especficas las cuales se pueden agregar a la APP. Dentro de las ms utilizadas por los programadores se destacan:

Pago con PayPal Formularios Barras de navegacin Google Maps Calendarios Contenido remoto

3.1.2.1.4 Factibilidad Implementativa

La alternativa es fiable al 100% ya que las tecnologas son accesibles, adems de que el costo del equipo no es demasiado alto. En este caso el Software por su parte no genera costos adicionales ya que es gratuito.

El problema solo se encuentra en que este Software no cumple con las expectativas de solucin del problema del proyecto, la cual es realizar una aplicacin que entregue todos los eventos y actividades de las ciudades.Adems ha de mencionar que la membreca del plan para realizar el proyecto es por el largo de 1 ao.

3.1.2.2 AIDE

3.1.2.2.1 Factibilidad tcnica

Como ya antes dicho AIDE es un entorno de desarrollo integrado, que para su funcionamiento requiere un dispositivo de media gama hacia arriba, tecnologa que no es nueva y est disponible en el pas.

Las caractersticas de la tecnologa mnima a utilizar para este IDE son las siguientes:

Procesador: Qualcomm Snapdragon 400 a 1,2 GHZ Red: Bandas Red 2G GSM/GPRS/EDGE Bandas Red 3G UMTS WCDMA/HSDPA/HSPA+ Cmara:8 Mpx flash LED / 2 Mpx Pantalla:5 Pulgadas Medidas:141,5 x 70,7 x 11 mm / 149 gramos Sistema:Android 4.4. KitKat

Esta aplicacin requiere de una cuenta para ser descargada o comprada mediante la tienda virtual de Android, Play Store. De esta manera no presentara ningn inconveniente al momento de ejecutar la aplicacin.

3.1.2.2.2 Factibilidad econmica

Para implementar la APP se deben considerar lo siguiente valores:

En este caso se consideran los costos de la aplicacin ya que se encuentra disponible en dos versiones, gratuita y pagada en las tiendas virtuales de los dispositivos.

Tabla 3.5 Versiones de AIDE en Play Store

Tomando en cuenta el costo de la aplicacin se debe considerar lo siguiente:

Tabla 3.2 Detalle de costos AIDEDescripcinCantidadValor

Mvil gama media alta1$99.990

Aplicacin (Versin Pagada)1$6.155

TOTAL$106.145

3.1.2.2.3 Factibilidad Operacional

Se podra decir que la aplicacin en si no tiene mayor dificultad para el usuario, pero debido a que se encuentra desarrollada en idioma ingls, limita la cantidad de descargas en el mundo.

AIDE presenta al usuario lecciones interactivas paso a paso para fortalecer los conocimientos en el desarrollo de aplicaciones Android y conocimientos de programacin Java.

Todos los proyectos en AIDE son totalmente compatibles con los proyectos de Eclipse, todo gracias a que AIDE apoya la creacin de aplicaciones con Java, XML y el SDK de Android.

3.1.2.2.4 Factibilidad Implementativa

La alternativa es fiable al 100% ya que las tecnologas son accesibles y el costo del equipo no es el ms alto, en este caso la aplicacin por su parte genera un costo adicional, el cual no es elevado, pero si necesario para acceder a todas sus funcionalidades.

3.1.2.3 Rheti

3.1.2.3.1 Factibilidad Tcnica

Rheti es una aplicacin Android que para su funcionamiento requiere un dispositivo de media gama hacia arriba, tecnologa que no es nueva y est disponible en el pas.

Las caractersticas de la tecnologa mnima a utilizar para este IDE son las siguientes:

Procesador: Qualcomm Snapdragon 400 a 1,2 GHZ Red:Bandas Red 2G GSM/GPRS/EDGE Bandas Red 3G UMTS WCDMA/HSDPA/HSPA+ Cmara:8 Mpx flash LED / 2 Mpx Pantalla:5 Pulgadas Medidas:141,5 x 70,7 x 11 mm / 149 gramos Sistema:Android 4.4. KitKat

Esta aplicacin requiere de una cuenta para ser descargada mediante la tienda virtual de Android, Play Store. La cual se deber verificar al momento de iniciar la aplicacin. De esta manera no presentara ningn inconveniente al momento de ejecutar la aplicacin

3.1.2.3.2 Factibilidad econmica

Para implementar esta aplicacin se debe tener en cuenta lo siguiente:Tabla 3.3 Detalle de costos RethiDescripcinCantidadValor

dispositivo gama media alta 1$99.990

TOTAL$99.990

En este caso no se consideran el costo de la aplicacin ya que se encuentra gratuita en la tienda virtual de Android, Play Store.

3.1.2.3.3 Factibilidad operacionalRheti es una aplicacin para Android que permite al usuario crear y compartir aplicaciones nativas para Android de forma gratuita. Bsicamente Rheti entrega distintos comandos bsicos de los dispositivos, adems de permitir obtener nuevas funciones que se transformaran en una nueva aplicacin.Con Rheti se pueden crear aplicaciones usando comandos tctiles, adems de contar con varias interfaces predefinidas de visualizacin, como por ejemplo: Interfaz de Empresa Interfaz de Restaurante Interfaz de Vacaciones

3.1.2.3.4 Factibilidad implementativa

La alternativa es fiable al 100% ya que las tecnologas son accesibles y el costo del equipo no es el ms elevado, en este caso la aplicacin por su parte no genera costo adicional por ser gratuita.

3.1.2.4 Eclipse junto a Phonegap

3.1.2.4.1 Factibilidad tcnica

Para el desarrollo y la ejecucin del prototipo a realizar es necesario contar con un computador con caractersticas medias, adems de un dispositivo de gama media o alta. Estas tecnologas de fcil acceso para cualquier usuario, ya que los requerimientos de hardware no son elevados.

Las caractersticas del notebook son: MicroprocesadorProcesador Intel Core i3-2328M de segunda generacin a 2,20 GHz MemoriaSDRAM DDR3 de 4 GB (1 DIMM) Grficos de videoIntel HD Graphics 3000 con memoria total de grficos de hasta 1696 MB PantallaPantalla con retroiluminacin LED de alta definicin BrightView de 14 pulgadas en diagonal (1366 x 768) Disco duro Disco duro de 500 GB (5400 RPM)

Las caractersticas del dispositivo mvil a utilizar sern las siguientes: Modelo: SAMSUNG Galaxy Core Procesador: Dual Core 1.2 GZ Red:2G (GSM) 3G Cmara:5 mpx (2592 x 1944) Pantalla:4.3" (480 x 800 pixeles) Medidas:129.3 x 67.3 x 9 mm Sistema:Android OS

Para el desarrollo del prototipo de aplicacin es necesario contar con distintos Software descargables desde internet, los cuales son Eclipse PhoneGap PhoneGap Build JDK para Windows

3.1.2.4.2 Factibilidad Econmica

Para desarrollar esta propuesta se debe tener en cuenta lo siguiente: Tabla 3.4 Detalle de costos en equipos Eclipse y phonegapDescripcinCantidadvalor

Notebook1$ 349.990

Celular 1$79.990

TOTAL$429.980

En este caso no se consideran los costos de software ya que todos los programas a utilizar se encuentran de manera gratuita en sus web respectivas.

Para la implementacin de la aplicacin en la tienda virtual de Android es necesario contar con lo siguiente:Tabla 3.5 Detalle costos de implementacin Eclipse y PhonegapDescripcinCantidadvalor

Notebook1$ 349.990

Licencia Android 1US$ 25

TOTAL$364.969

Para el montaje y pruebas de la aplicacin es necesario tener en cuenta lo siguiente:

Tabla 3.6 Detalle costos Pruebas Eclipse y PhonegapDescripcinCantidadvalor

Celular 1$79.990

TOTAL$79.990

3.1.2.4.3 Factibilidad Operacional

Ser una aplicacin que no tendr mayor dificultad para el usuario, donde este, por medio de la geolocalizacin podr encontrar todas aquellas actividades y fiestas existentes en un radio de 100 Km.

Principalmente la aplicacin comienza a funcionar desde el momento de ejecutarse, entregando la informacin al instante, por medio de una lista, en la cual se podr seleccionar una opcin, siendo redirigido a otra interfaz donde se mostrar todo lo relacionado a la opcin seleccionada. Adems se encontrar un mapa en el cual se encuentra la ubicacin del usuario y la ruta a seguir para llegar al evento.

Se debe tener en cuenta que para poder utilizar la aplicacin se debe de tener en el dispositivo mvil acceso a internet, ya sea por medio de wifi o redes mviles.

3.1.2.4.4 Factibilidad Implementativa

La implementacin de la aplicacin no debera de generar ningn problema, ya que todas las tecnologas y software estn accesibles hoy en da, adems de que el sistema operativo en el que se ejecutar la aplicacin es de cdigo abierto y no tiene un costo elevado para su publicacin en su tienda virtual.

Como ya antes dicho basta con tener conexin a internet para poder utilizar la aplicacin sin inconvenientes.

3.1.3 Solucin Propuesta

La solucin propuesta consiste en una alternativa a todas aquellas aplicaciones que entregan informacin turstica en el mundo, principalmente en el pas de Chile.

Basta con tener un dispositivo mvil con acceso a internet para poder acceder a una gran cantidad de informacin, lo que a diferencia de lo utilizado ya hace algunos aos, ahora estar todo en un solo dispositivo y al alcance de todo usuario, esto quiere decir, que ya no se tendr que navegar por internet para buscar algn panorama, o tener que buscar en mapas y folletos de papel.

3.1.4 Beneficio de la solucin Una de los beneficios de esta solucin son los bajos costos de produccin de esta aplicacin y sus mdulos, en comparacin con la creacin de otras aplicaciones que conllevan una elaboracin mucho ms producida y de una excesiva cantidad de equipos, adems de sus elevados costos.

Un beneficio extra, es que al utilizar geolocalizacin se podr saber el lugar exacto en el que se encuentra ubicado, todo por medio de un mapa en el cual se podr conocer todo lo que hay alrededor.

La aplicacin permitir al usuario estar al tanto de todos los eventos o fiestas costumbristas que se estn realizando o se realizarn cerca de su ubicacin geogrfica, entregando fechas y horas del comienzo de la fiesta, adems de toda aquella informacin que puede ser importante para el usuario.

3.3 Desarrollo Tcnico

3.3.1 Marco del desarrollo

En esta etapa se describe como se desarrollarn las fases del proyecto a partir de la metodologa escogida.

Como ya antes dicho para la ejecucin de este proyecto se utilizar la metodologa orientada a objeto, con la cual se desarrollarn todas las etapas del proyecto.

3.3.1.1 Anlisis

La etapa de anlisis se representara por medio de un diagrama de caso de uso, para luego realizar un anlisis, en el cual se podr identificar los objetos potenciales para el sistema.

Cuando ya se identifiquen las clases potenciales, se realizar una investigacin para ver si estas existen en las libreras de java, posterior a esto se procede a una revisin de todo lo investigado para obtener las clases finales a utilizar.

Se especificarn los atributos de cada una de las clases, adems de sus responsabilidades y colaboraciones.

Para finalizar la etapa de anlisis se desarrollar el modelo objeto-relacin y as analizar cmo se relacionan los objetos, adems de su cardinalidad.

3.3.1.2 Diseo

Posterior al anlisis se comienza la etapa de diseo del sistema. Para poder realizar el diseo orientado a objeto se llevarn a cabo las siguientes etapas.

Se realizar un anlisis para reconocer las clases del sistema, adems de las relaciones entre estas.

Se definirn cules sern los componentes para la interfaz de usuario, detallando las funciones de cada componente.

3.3.2 Plan del Proyecto

Para poder realizar el proyecto, es necesario poder ejecutar varias tareas. Estas tareas tendrn un tiempo estimado para su desarrollo, entregando como resultado una fecha aproximada para el trmino del proyecto.

Las tareas o actividades comenzarn con la creacin de la tesis, y finalizarn con las pruebas del prototipo.

Las tareas son las siguientes:

3.3.3Preparacin del Proyecto

Formulacin del problema en estudio

Objetivos del proyecto

Marco terico

Conceptual

Referencial

Metodologa de trabajo

Propuesta de solucin

Evaluacin de propuesta

Beneficio de solucin

3.3.4Anlisis

Modelar clases

Identificar responsabilidades

Identificar colaboraciones

Definir estructura y jerarquas

Definir subsistemas del software

Realizar modelo objeto-relacin

Realizar modelo objeto-comportamiento

3.3.5 Diseo

Disear el sistema

Disear objetos

Programar prototipo

3.3.6 Pruebas

Desarrollar pruebas

3.3.7 Desarrollo del Proyecto

3.4 Anlisis

En el punto anlisis, se pretende identificar todas las clases y objetos que vayan a ser utilizadas en la aplicacin, adems de comprender como el usuario utilizar la aplicacin e interactuar con esta.

La aplicacin se realizar pensando en todas aquellas personas que necesiten de informacin turstica, con el fin de reemplazar revistas y documentos, los cuales adems de ser difciles de conseguir, ocupan una mayor cantidad de espacio. Los requerimientos de la aplicacin no son elevados, accesibles por casi la mayora de usuarios, y con una gran ventaja que es el tener la informacin al alcance de las manos, permitiendo el consultar y conocer datos de inters.

Como ya antes dicho, la aplicacin es la que se encargar de entregar la informacin solicitada, todo acorde a lo seleccionado por el usuario.Diagrama 3.1 Diagrama caso de uso para Prototipo de APP web para dispositivo android

En la diagrama 3.1 se puede apreciar el cmo ser utilizada la aplicacin por el usuario.

3.4.1 Modelado de clases responsabilidades colaboraciones

Ya desarrollado el uso bsico para el sistema, se continuar por identificar clases que podran ser utilizadas en el prototipo, adems de indicar responsabilidades y colaboraciones.

3.4.1.1 Identificacin de clases y objetos

En este punto se comenzar por identificar clases y objetos, tomando en cuenta los requerimientos necesarios para el funcionamiento. Los objetos sern los primeros en ser identificados, realizando un pequeo anlisis a lo que se expondr en el siguiente texto:

La aplicacin que trabajar con Geolocalizacin servir como ayuda para acceder a una gran cantidad de informacin turstica, permitiendo el poder cumplir con las mismas funciones de los centros tursticos de todas las ciudades. Esta aplicacin brinda una gran funcionalidad adicional, la cual es poder apreciar distancias y rutas a seguir dentro de un mapa, hasta el evento seleccionado.

En trminos generales el usuario debe establecer en primera instancia el rango de distancia, para poder detectar eventos cercanos, y mostrrselos al usuario, toda esta informacin va a depender de la ubicacin geogrfica en la que se encuentre.

Al desplegarse la lista con los eventos cercanos a la ubicacin del usuario, este podr seleccionar el que desee visitar, para que posteriormente se muestre toda la informacin necesaria a conocer del evento seleccionado.

Una vez elegido el evento a visitar, en una tercera pantalla se podr acceder al mapa, el cual utilizara la geolocalizacin para mostrar el camino o ruta a seguir para llegar a este.

Los objetos se manifiestan de alguna de las formas mostradas en la Figura y pueden ser: entidades externas (por ejemplo: otros sistemas, dispositivos, personas) que producen o consumen informacin a usar por un sistemas computacional. cosas (por ejemplo: informes, presentaciones, cartas, seales) que son parte del dominio de informacin del problema. ocurrencias o sucesos (por ejemplo: una transferencia de propiedad o la terminacin de una serie de movimientos en un robot) que ocurren dentro del contexto de una operacin del sistema. Papeles o roles (por ejemplo: director, ingeniero, vendedor) desempeados por personas que interactan con el sistema. Unidades organizacionales (por ejemplo: divisin, grupo, equipo) que son relevantes en una aplicacin. Lugares (por ejemplo: planta de produccin o muelle de carga) que establecen el contexto del problema y la funcin general del sistema. Estructuras (por ejemplo: sensores, vehculos de cuatro ruedas o computadoras) que definen una clase de objetos o, en casos extremos, clases relacionadas de objetos.Figura 3.1 Como se manifiestan los Objetos

Fuente Pressman, Roger S. Ingeniera del software, (2001), Pag. 351.A partir del anlisis realizado previamente, se proponen los siguientes objetos:Tabla 3.7 Anlisis sintctico gramaticalClase / ObjetoClasificacin general

Usuario Rol o entidad externa

Dispositivo mvil Entidad externa

Consultar Ocurrencia o suceso

Eventos Ocurrencia o suceso

Seleccionar informacin Ocurrencia o suceso

Geolocalizacin Ocurrencia o suceso

Ingenieros Papeles o roles

Coad y Yourdon [COA911] sugieren seis caractersticas de seleccin a usar cada vez que un analista considera si incluye o no un objeto potencial en el modelo de anlisis: 1. Informacin retenida: el objeto potencial ser de utilidad durante el anlisis solamente si la informacin acerca de l debe recordarse para que el sistema funcione. 2. Servicios necesarios: el objeto potencial debe poseer un conjunto de operaciones identificables que pueden cambiar de alguna manera el valor de sus atributos. 3. Atributos mltiples: durante el anlisis de requisitos, se debe centrar la atencin en la informacin principal (un objeto con un solo atributo puede, en efecto, ser til durante el diseo, pero seguramente ser mejor presentado como un atributo de otro objeto durante la actividad de anlisis).4. Atributos comunes: puede definirse un conjunto de atributos para el objeto potencial, los cuales son aplicables a todas las ocurrencias del objeto. 5. Operaciones comunes: puede definirse un conjunto de operaciones para el objeto potencial, las cuales son aplicables a todas las ocurrencias del objeto.6. Requisitos esenciales: entidades externas que aparecen en el espacio del problema y producen o consumen informacin esencial para la produccin de cualquier solucin para el sistema, sern casi siempre definidas como objetos en el modelo de requisitos. Para ser considerado un objeto vlido a incluir en el modelo de requisitos, un objeto potencial debe satisfacer todas (o casi todas) las caractersticas anteriores. La decisin de incluir objetos potenciales en el modelo de anlisis es algo subjetivo, y una evaluacin posterior puede llegar a descartar un objeto o re incluirlo. Sin embargo, el primer paso del AOO debe ser la definicin de objetos, y la consiguiente toma de decisiones (incluso subjetivas). (Cita)

Teniendo en cuenta lo antes sealado, se aplican las caractersticas de seleccin a la lista en la siguiente tabla.Tabla 3.8 Aplicacin de caractersticas selectivas de objetosClase / ObjetoCaractersticas aplicables

Usuario Rechazado

Dispositivo mvil Aceptado

Consultar Rechazado

Eventos Aceptado

Seleccionar informacin Rechazado

Geolocalizacin Aceptado

Ingenieros Rechazado

Se debe tomar en cuenta que en la lista anterior no se incluyeron todo los objetos existentes, y que se aadirn para completar el prototipo. Adems, es probable el reutilizar clases ya disponibles en las libreras de todos los softwarer a utilizar.

3.4.1.2 Anlisis del Dominio

Como ya antes dicho, la aplicacin se desarrollar con el software PhoneGap, con el lenguaje de programacin JavaScript. PhoneGap trae incluidas libreras, las cuales deben ser utilizadas en el prototipo, ya que gracias a ellas es posible el acceder a una serie de caractersticas importantes del dispositivo mvil, y que se ocuparn en el desarrollo de la aplicacin. Se debe tomar en cuenta que la aplicacin se crear con el fin de reemplazar revistas, folletos y tiempo ocupado en conseguir informacin turstica.

Dentro de las clases potenciales se encuentran las siguientes: Dispositivos mviles Eventos Geolocalizacin

La clase Dispositivo mvil tiene relacin directa con el hardware a utilizar, el cual entrega la gran posibilidad de portabilidad del dispositivo, adems de la utilizacin de geolocalizacin.

La clase eventos permitir definir los distintos eventos que podra realizar el usuario en la aplicacin.

La clase geolocalizacin se encargar de recibir y entregar informacin geogrfica de la ubicacin del usuario, al momento en que utilice la aplicacin.

Ya definidos los objetos, adems de sus funciones, que podran formar parte de la aplicacin, se realizar una revisin de las libreras de JAVA versin 7, con el fin de verificar si existen clases que realicen funciones similares y que se puedan reutilizar.

Al realizar la revisin de las libreras de JAVA versin 7, se logr encontrar lo siguiente:Tabla 3.9 Objetos Candidatos reutilizables ClaseLibreraDescripcin

ItemSelectableJava.awtInterface para objetos que contengan elementos que puedan ser seleccionados, tales como Checkbox, ComboBox, Boton.

ActiveEventJava.awtInterface para que los eventos sepan que pueden ser lanzados.

ComponentJava.awtEs un objeto que tiene representacin grfica que se puede visualizar en la pantalla, adems de interactuar con el usuario.

Android.hardwarePermite el acceso al hardware del dispositivo, tales como acelermetro, cmara, sensores y brjula.

Android.locationDa a las aplicaciones el acceso a la ubicacin fsica del dispositivo actual.

Despus de revisar las libreras existentes en JAVA, se lleg a la conclusin de que las clases mencionadas en la tabla antes mostrada(Numero tabla), pueden ser reutilizadas en el desarrollo de la aplicacin.Se pueden definir como clases candidatas las siguientes: Dispositivos mviles Eventos Geolocalizacin ItemSelectable ActiveEvent Component Android.hardware Android.location

3.4.1.3 Especificacin de atributos

Los atributos se pueden definir como los que definen al objeto, los que especifican con claridad lo que se representa en el objeto.A continuacin se especificarn todos los atributos de las clases ya antes nombradas, las cuales fueron obtenidas de las libreras de Java.

Tabla 3.10 Atributos de la Clase ItemSelectable ItemSelectable

addItemListenerAade un receptor de eventos de tipo Action producidos por el botn.

getSelectedObjectsDevuelve la etiqueta o ttulo del botn.

removeItemListenerElimina el receptor de eventos para que el botn deje de realizar accin alguna.

Tabla 3.11 Atributos de la Clase ComponentComponent

Component.AccessibleAWTComponentClase interna del componente utilizado para proporcionar compatibilidad predeterminada para la accesibilidad.

Component.BaselineResizeBehaviorEnumeracin de las formas comunes de la lnea base de un componente puede cambiar a medida que cambia el tamao.

Component.BltBufferStrategyClase interna para blitting fuera de la pantalla superficies a un componente.

Component.FlipBufferStrategyClase interna para voltear buffers en un componente.

Tabla 3.12 Atributos de la Clase Android.hardware Android.hardware

GeomagneticField

Estima el campo magntico en un punto dado en la Tierra y, en particular, para calcular la declinacin magntica del norte verdadero.

SensorClase que representa un sensor.

SensorEventEsta clase representa un sensor de eventos y tiene informaciones como el tipo de sensor, el sello de tiempo, precisin y, por supuesto, del sensor de datos

SensorManagerSensorManager le permite acceder del dispositivo sensores.

Tabla 3.13 Atributos de la Clase Android.location Android.location

Addressclase que representa una direccin, es decir, un conjunto de cadenas que describen una ubicacin

CriteriaClase con indicacin de los criterios de aplicacin para la seleccin de un proveedor de ubicacin.

GeocoderClase para el manejo de geocodificacin y geocodificacin inversa.

GpsSatelliteClase representa el estado actual de un satlite GPS.

GpsStatusClase representa el estado actual del motor GPS.

LocationClase de datos que representa una ubicacin geogrfica.

LocationManagerClase proporciona acceso a los servicios de localizacin del sistema.

LocationProviderUna superclase abstracta para proveedores de localizacin.

SettingInjectorServiceDinmicamente especifica el estado de habilitacin de una preferencia, inyecta en la lista de configuracin de la aplicacin

Tabla 3.14 Atributos de la Clase ActiveEvent ActiveEvent

dispatch()Distribuir el evento a su objetivo, los oyentes de la fuente de eventos, o hacer lo que sea que este evento se supone que debe hacer.

A continuacin se realizar una descripcin ms detallada de cada clase antes nombrada.Android.location

Principalmente Android.location contiene clases que definen servicios de localizacin afines de Android.

Android.location cuenta con 3 interfaces, que son las ms utilizadas y nombradas a continuacin:

GpsStatus.Listener: Es utilizado con el fin de recibir una notificacin cuando el estado del GPS ha cambiado.

Gps.Status.NmeaListener: se utiliza principalmente para recibir sentencias NMEA del GPS.LocationListener: se utiliza para recibir notificaciones cada vez que la ubicacin ha cambiado.

Imagen 3.5 Geolocalizacin en Android

http://www.edureka.co/blog/location-based-services-in-android/Component

Component se puede definir como un objeto que tiene una representacin grfica, visualizada en la pantalla y que le permite al usuario su utilizacin.

Dentro de la clase Component existen objetos que derivan de este, los cuales se nombran a continuacin:

Button Canvas Checkbox Choice Container Panel Windows Dialog Frame Label List Scrollbar TextComponent TextArea TextField

Ya nombrados los objetos de la clase component, estos pueden ser agrupados segn el tipo de entrada.Como primer grupo se pueden reunir los componentes con entrada de tipo no-textual, el cual estara compuesto por los botones de pulsacin (Button), las listas (List), los Botones de Marcacin (Checkbox), los botones de seleccin (Choice) y los botones de comprobacin (CheckboxGroup).Como segundo grupo se agrupan los componentes con entrada y salida textual, tales como los campos de texto (TextField), las reas de texto (TextArea), y las etiquetas (Label).En el ltimo grupo se pueden encontrar componentes que no pertenecen a ningn lado, tales como barras de desplazamiento (Scrollbar), zonas de dibujo (Canvas), o hasta incluso contenedores (Panel, Windows, Dialog y Frames).A continuacin se puede apreciar los objetos que pertenecen a la clase Component, todos ordenados de manera jerrquica para la librera AWT, la cual pertenece Component.Figura 3.2 Objetos de la Clase Component

http://users.dcc.uchile.cl/~lmateu/Java/Apuntes/awt.htm

Android.hardware

Android.hardware es una librera de java que se caracteriza por proporcionar soporte para hardware, con el cual uno puede acceder al dispositivo mvil, por ejemplo los sensores de stos. Se debe tener presente que no todos los dispositivos Android son compatibles con las caractersticas de hardware, por lo mismo, es importante sealar que el hardware requiere de ciertas aplicaciones para usar esta funcin.Imagen 3.6 Hardware que funciona con aplicaciones del Sistema Android

http://techabella.co.uk/2013/07/09/android-does-leaving-gps-enabled-affect-my-battery/

ItemSelectable ItemSelectable es una clase perteneciente a la librera Java.awt, la cual contiene objetos con elementos para los que se puede seleccionar cero o ms. En otras palabras ItemSelectable solo se aplica a los elementos que pertenezcan a un men y que se puedan seleccionar, esto quiere decir que al hacer clic en un elemento del men, este devuelve datos y establece como ese elemento seleccionado.

ItemSelectable cuenta con una propiedad que al estar en estado FALSE para algn elemento en el men, este no realizar ninguna accin al hacer clic sobre l.

Imagen 3.7 Ejemplo de ItemSelectable

3.5 Definicin de estructuras y jerarquas de PhoneGap.

Como ya antes dicho PhoneGap permite crear aplicaciones nativas para los distintos tipos de dispositivos existentes hoy en da, utilizando tecnologas web como HTML, CSS y JavaScript.Un desarrollador es capaz de crear una aplicacin web para dispositivos mviles, pero gracias a las herramientas entregadas por PhoneGap es posible crear una aplicacin nativa para cada sistema operativo compatible.

Figura 3.3 Estructura Phonegap

http://www.arkaitzgarro.com/phonegap/capitulo-2.htmlArquitectura de la aplicacin de PhoneGap.

En la figura anteriormente mostrada se puede apreciar una aplicacin nativa, en la cual la interfaz de usuario de la aplicacin consta de solo una pantalla que contiene una visin web nica, que utiliza todo el espacio disponible en la pantalla del dispositivo mvil. Cuando una aplicacin se ejecuta, lo primero que ocurre es la carga de la pgina de inicio de la aplicacin, que comnmente es llamada Index.html. Posterior a la carga de la pgina de inicio, se pasa el control al usuario para poder interactuar con la aplicacin. Cada vez que el usuario interacta con la aplicacin, los enlaces y cdigos JavaScript, pueden mostrar otros contenidos.Para poder crear una aplicacin mvil interesante hoy en da, se debe poder acceder a varios componentes del dispositivo mvil, fuera de lo que es el navegador web. Gracias a PhoneGap esto es posible, ya que proporciona un conjunto de APIs que permiten a PhoneGap el acceder a los componentes del equipo que son necesarios para la utilizacin de la aplicacin.Figura 3.4 Interaccin de PhoneGap con el dispositivo

http://www.arkaitzgarro.com/phonegap/capitulo-2.html

Cada vez que un desarrollador utiliza una funcin en alguna aplicacin que vaya a utilizar una API de PhoneGap, sta es llamada mediante cdigos del lenguaje de programacin JavaScript, para posteriormente transformarla en un API nativo especialmente apropiado para la funcin a utilizar.La manera de acceder a alguna funcin a utilizar del dispositivo vara dependiendo del sistema operativo a utilizar, como por ejemplo el utilizar la cmara en BlackBerry es totalmente diferente a la de Android, por lo que la API seleccionada para programar, se transformar en un API nativo apropiado al sistema operativo del dispositivo a ocupar.Para poder tomar una fotografa desde una aplicacin mvil utilizando la API de PhoneGap se necesita el siguiente cdigo JavaScript:Imagen 3.8 API de PhoneGap para utilizar Cmara en BlackBerry

Este cdigo al ser transformado a una API nativa de BlackBerry quedara de la siguiente forma:Imagen 3.9 cdigo JavaScript para utilizar Cmara en BlackBerry

A diferencia de BlackBerry, en Android el cdigo puede ser ejecutado de la siguiente forma:Imagen 3.10 API de PhoneGap para utilizar Cmara en Android

Los cdigos anteriormente mostrados no muestran todos los aspectos que hay que tener en cuenta en la captura de una fotografa, pero demuestran como PhoneGap simplifica el desarrollo de las aplicaciones mviles para los distintos sistemas operativos mviles.

3.6 Crear Aplicacin con PhoneGap

Cada vez que se desarrolla una aplicacin sta debe ser empaquetada en una App nativa, la cual se ejecutar en el dispositivo, todo depender de la plataforma para la cual sea empaquetada la aplicacin, ya que cada una de ellas tiene sus propias herramientas para la creacin de aplicaciones nativas.

Uno de los grandes desafos en este proceso es el que cada sistema operativo mvil utiliza, herramientas totalmente distintas, especficamente en archivos de configuracin y la estructura de carpetas. Cada librera JavaScript es diferente dependiendo del sistema operativo. Las APIs de PhoneGap son iguales, pero el cdigo JavaScript utilizado para interactuar con el dispositivo mvil va a cambiar dependiendo del sistema operativo, esto quiere decir que es imposible crear una aplicacin desarrollada en PhoneGap y que pueda ser utilizada en las mltiples plataformas existentes.Imagen 3.11 libreras PhoneGap para diversos sistemas

3.7 Encapsulado de la aplicacin - Uso de PhoneGap Build

Una vez concluida la fase de programar la aplicacin, y ya realizadas todas las pruebas pertinentes, se llega a la etapa final del proceso, la cual consiste en convertir la APP en una aplicacin nativa, haciendo uso del cdigo programado junto al framework PhoneGap.PhoneGap ofrece un servicio on-line para poder realizar de manera correcta el encapsulado de la aplicacin. Este servicio se llama PhoneGap Build, poseedor de una gran caracterstica, el no poder estar instalado en algn computador para su funcionamiento, esto quiere decir que puede ser utilizado desde cualquier computador con acceso a internet, para poder obtener una App nativa.PhoneGap Build necesita en principio, tan solo dos documentos, estos por lo general son llamados "index.html", documento en el cual se escribirn lneas y lneas de cdigo, mientras que el archivo "config.xml" es en el cual se escribirn todo tipo de configuraciones. En el caso de que la APP contenga otros archivos, Imgenes, hojas CSS u otros, estos debern ser comprimidos en un fichero formato ZIP.Una vez realizada la compilacin de archivos ZIP, se debe acceder a la web de PhoneGap Build. Se debe tener en cuenta que es requisito indispensable estar registrado para el uso de este sitio.Imagen 3.12 Encapsulado de la aplicacin - Uso de PhoneGap Build

Captura de pantalla, en la cual se muestra la interfaz de creacin de aplicaciones nativas multiplataforma.

Como se puede apreciar en la imagen previamente mostrada los botones azules indican que las Apps nativas, en la mayora de plataformas estn listas para ser descargadas, no as para el sistema operativo iOS, el cual aparece con un botn en rojo, indicando error. Esto se debe a que para poder obtener una aplicacin nativa en iOS, Apple exige tener los certificados de desarrollo y distribucin, que tienen como costo anual unos 100 dlares. Una vez que se obtienen los certificados estos deben ser subidos a PhoneGap Build junto a la compilacin de ficheros ZIP.

3.7.1Cordoba.js

Uno de los archivos ms importantes subidos a PhoneGap Build es cordova.js, el cual se encarga de verificar toda la aplicacin HTML, adems de todos los Plugins que se tengan instalados, por ejemplo los de cmara, acelermetro, GPS, entre otros.

Como funcin principal, este Plugins tiene como misin ser el puente entre los archivos HTML y los Plugins JS que existan en la aplicacin.

Diagrama 3.2 Cordoba.js puente entre los archivos HTML y los Plugins JS

3.7.2 Estructura de Archivos de Phonegap

Imagen 3.13 Archivos dentro del Proyecto

Al momento de crear un proyecto, se establece una carpeta con el nombre de ste, la cual contiene otras carpetas, dentro de ellas destacan platforms, poseedora de todas las plataformas que estn disponibles para la creacin de una aplicacin, en el caso de este proyecto, Android.En la carpeta WWW, se podrn encontrar todos aquellos archivos en los que indiscutiblemente se tiene que trabajar.Imagen 3.13 Archivos dentro de la Carpeta WWW

3.8 Estructura de un proyecto

Cada vez que se crea una aplicacin Android, se genera una estructura de carpetas,esta estructura es comn en cualquier aplicacin, independientemente de su tamao y complejidad.Carpeta /src/

Principalmente esta carpeta es la que incluye las clases de la aplicacin, sin importar la cantidad de clases existentes, ya que se pueden crear tantas clases como vistas (Activity) Imagen 3.14 Estructura Carpeta SRC

Carpeta /res

La carpeta res tiene como principales caractersticas lo siguiente: Guarda todos los recursos de la aplicacin (imgenes, XML de interfaz, XML de strings, sonidos, audios, etc). A cada recurso se le asigna una direccin La subcarpeta drawable contiene las imgenes de la aplicacin. La subcarpeta layout contiene la interfaz de las actividades. La subcarpeta values contiene los textos de la aplicacin en ficheros XMLImagen 3.15 Recursos para el sistema

Carpeta /gen/

Principalmente se caracteriza por lo siguiente: Contiene cdigo generado automticamente cada vez que se compila un proyecto. Contiene una clase R que contendr las direcciones de los recursos creados en la carpeta /res/. La clase R no se debe modificar, ya que se generar constantemente. Esta clase es el puente entre los recursos (/res/) y la aplicacin (/src/).Imagen 3.16 Estructura Clase R

AndroidManifest.xml

AndroidManifest.xml es uno de los archivos ms importantes en la creacin de una aplicacin. Es nico por cada uno de estas, ya que en l se establecen los aspectos generales de la aplicacin. Como aspectos generales se pueden denominar los siguientes: Los permisos que la aplicacin necesita para funcionar (Acceso a Internet, a un SDCard). Que clases se deben invocar. La versin de Android para la que ha sido diseada la aplicacin. Las actividades, y servicios que incluye la aplicacin El cono y el texto que se mostrar al lanzar la aplicacin La actividad principal de la aplicacinImagen 3.17 Aspectos generales de la Aplicacin

3.9 DISEO

En esta etapa se crea un modelo de diseo que sirve como anteproyecto para la construccin del prototipo, este diseo ser dividido en dos partes; diseo de sistemas y diseo de objetos.

3.9.1Diseo de sistema

Principalmente se desarrolla el modelo arquitectnico para la construccin del prototipo, este es definido por una serie de partes que cumplen un rol especfico en el sistema, adems de identificar las clases.

3.9.2 Particionar el modelo de anlisis

El diseo orientado a objetos particiona el modelo de anlisis, donde es posible definir clases, relaciones y comportamientos, los cuales pueden ser denominados subsistemas.

Los subsistemas estn compuestos por una propiedad en comn, la cual les permite unirse para realizar una misma funcin.

3.9.3 Foto de subsistemas

El proceso de particionar un sistema en subsistemas es llevado a cabo por la estratificacin por capas.

La estratificacin de capas consiste en que cada subsistema posee un nivel de abstraccin diferente, dependiendo de la funcionalidad requerida, es decir el nivel de abstraccin ser determinado por el grado en que el subsistema sea visible por el usuario al ejecutar la funcin requerida.

3.10 Componentes de interfaz de usuario

El diseo de la interfaz es la etapa en la cual se disea el medio de comunicacin que existir entre el usuario y el dispositivo mvil, para luego identificar los objetos y acciones de cada uno en la interfaz que formar el prototipo.

Se debe tomar en cuenta que la aplicacin esta creada con el fin de ayudar e informar a todas aquellas personas que estn interesadas en conocer actividades tursticas existentes en Chile, reemplazando revistas y folletos, o hasta incluso mapas para llegar a un destino especfico.

Diagrama 3.3 - Aplicacin de eventos tursticos

Diagrama de Casos de uso para Aplicacin de eventos tursticos.

Al iniciar la aplicacin el usuario encontrar una pantalla con dos opciones. En la opcin Capture Photo, se podr capturar una fotografa de algn lugar especfico, compartirla con el resto de personas que utilicen la aplicacin. Esta fotografa ser cargada en la galera que se encuentra en la parte inferior de la primera pantalla.Como primera opcin tenemos el botn Iniciar Aplicacin, el cual al darle clic, nos llevar a la siguiente pantalla compuesta principalmente el selector de bsqueda, que funciona de acuerdo al rango de Km (kilmetros) que el usuario elija. Imagen 3.18 Pantalla de inicio de aplicacin

Imagen 3.19 Pantalla Seleccin de Kilmetros de aplicacin

Al tener el rango de bsqueda seleccionado, basta con presionar el botn aceptar para poder continuar utilizando la aplicacin.En la tercera interfaz que el usuario puede apreciar, se le da a elegir entre 3 categoras de bsqueda, adems de mostrar un video relacionado con el turismo en Chile.Imagen 3.20 Pantalla seleccin de categora de la Aplicacin

Ya seleccionada la categora que desea buscar de acuerdo al rango especificado, la aplicacin entregar como resultado una lista de todas aquellas actividades que se encuentran dentro de lo solicitado.Imagen 3.21 Pantalla Men de Seleccin de la Categora escogida

Una vez que el usuario decida que evento visitar, basta con presionar el botn y esperar a que la siguiente cargue. Una vez cargada la pantalla se podr ver la informacin del evento seleccionado, adems de la ubicacin de ste, todo por medio de un mapa proporcionado por Google Maps.

Imagen 3.22 Pantalla Evento y mapa de ubicacin

3.11 Componente de la administracin de datos

En el diseo de los componentes de administracin de los datos, se incluye el diseo de los atributos y operaciones requeridas para administrar los objetos, pero como en este caso las clases y objetos a utilizar, son algunas de las que ya vienen incluidas en las libreras de Java Script, no es necesario disearlas, ya que estn creadas y diseadas en Java Script.

Clases utilizadas:

ItemSelectable ActiveEvent Component Android.hardware Android.location

CAPITULO IV. Resultados4.1 Plan de PruebasUna vez generado el cdigo fuente del prototipo, este debe ser probado para describir y corregir el mximo de errores posibles.

4.2 Prueba del Sistema

Tabla 3.14 Resultado de pruebas para el prototipoPruebasEvaluacin

Utilizar geolocalizacion para mostrar ubicacin de eventos.Bueno

Navegabilidad del sistema.Bueno

Conectividad entre clasesBueno

Velocidad de respuesta del sistemaBueno

Seleccin de rango en kilmetros Incompleta

Categorizacin de actividades y mens Bueno

Verificacin de cmara para compartir fotografasBueno

Reproduccin de Videos Bueno

Fuente elaboracin propia

Conclusin Una vez finalizada la investigacin se obtuvo como resultado lo importante que puede llegar a ser las aplicaciones ligadas al turismo en la actualidad, ya que hoy en da son los dispositivos mviles la ms destacada y utilizada en cuanto a tecnologa, gracias a su fcil utilizacin y bajo costo de adquisicin.

La eleccin de la herramienta de trabajo a utilizar en la creacin y diseo de la aplicacin solo va a depender de las cualidades o aspectos que va a tener la aplicacin a desarrollar, adems de los dispositivos que lo utilizaran y plataformas de software.

Por otro lado la incompatibilidad de los sistemas operativos mviles existentes en la actualidad es un problema que afecta a la mayora de los desarrolladores, ya que son miles los tipos de dispositivos mviles existentes en el mercado, haciendo mas difcil la creacin de una aplicacin con caractersticas y capacidades mnimas compatibles con estos.

La creacin de la aplicacin no solo fue con el fin de utilizar la geolocalizacin para poder entregar informacin turstica y rutas hacia los eventos, sino que tambin puede ser utilizada para otras reas que no estn relacionadas al turismo, todo gracias a que las API de mapas de Google tiene una gran cantidad de funciones disponibles al usuario de la aplicacin.