You are on page 1of 89

INSTITUTO TECNOLOGICO REGIONAL

INGENIERO EN EJECUCIN INFORMTICA

APLICACIN PARA ANDROID BASADA EN TECNOLOGA WEB

INFORME DE SEMINARIO DE TITULACIN PARA OPTAR


AL TTULO PROFESIONAL DE
INGENIERO EN EJECUCIN INFORMTICA

PROFESOR SUPERVISOR:

Carlos Celso Prez

Cristian Leandro Jaque Opazo Sebastin Guillermo Calisto Matus


|
Osorno Julio 2014

INDICE
Resumen................................................................................................................................................6
Introduccin..........................................................................................................................................7
CAPITULO I. Formulacin del Problema en Estudio.........................................................................8
1.1 Descripcin del Problema...........................................................................................................8
1.2 Objetivos.....................................................................................................................................9
1.2.1 General.................................................................................................................................9
1.2.2 Especficos...........................................................................................................................9
CAPITULO II. Marco Terico............................................................................................................10
2.1 Conceptual.................................................................................................................................10
2.1.1 Aplicacin (APP)...............................................................................................................10
2.1.2 API, Interfaz De Programacin De Aplicaciones...............................................................11
2.1.3 JavaScript...........................................................................................................................12
2.1.4 SDK (Software Development Kit).....................................................................................13
2.1.5 APK (Android Aplication Package)...................................................................................13
2.2 Referencial................................................................................................................................14
2.2.1 Dispositivos mviles..........................................................................................................14
2.2.2 Smartphones.......................................................................................................................15
2.2.4 Windows Phone..................................................................................................................17
2.2.5 BlackBerry OS...................................................................................................................18
2.2.6 iOS......................................................................................................................................19
2.2.7 Android...............................................................................................................................21
2.2.8 Por qu desarrollar una aplicacin en Android?...............................................................22
2.2.9 Cmo crear aplicaciones Android?...................................................................................23
2.2.10 AIDE................................................................................................................................24
2.2.11 Mobincube........................................................................................................................25
2.2.12 Rheti.................................................................................................................................26
2.2.13 Eclipse y PhoneGap.........................................................................................................28
2.2.14 Por qu Phonegap?.........................................................................................................30
2.2.15 Cmo subir aplicaciones para Android?.........................................................................31
CAPITULO III. Metodologa de Trabajo............................................................................................32
3.1 Propuesta de solucin................................................................................................................33
3.1.1 Alternativas........................................................................................................................33

3.1.1.1 Chile Travel.....................................................................................................................34


3.1.1.2 Turismart.........................................................................................................................35
.....................................................................................................................................................35
3.1.1.3 Smartour..........................................................................................................................36
3.1.2 Evaluacin..........................................................................................................................37
3.1.2.1 Mobincube...........................................................................................................................37
3.1.2.1.1 Factibilidad tcnica......................................................................................................37
3.1.2.1.2 Factibilidad econmica................................................................................................38
3.1.2.1.3 Factibilidad Operacional..............................................................................................39
3.1.2.1.4 Factibilidad Implementativa.........................................................................................39
3.1.2.2 AIDE...................................................................................................................................40
3.1.2.2.1 Factibilidad tcnica......................................................................................................40
3.1.2.2.2 Factibilidad econmica................................................................................................41
3.1.2.2.3 Factibilidad Operacional..............................................................................................42
3.1.2.2.4 Factibilidad Implementativa.........................................................................................42
3.1.2.3 Rheti....................................................................................................................................43
3.1.2.3.1 Factibilidad Tcnica.....................................................................................................43
3.1.2.3.2 Factibilidad econmica................................................................................................43
3.1.2.3.3 Factibilidad operacional...............................................................................................44
3.1.2.3.4 Factibilidad implementativa.........................................................................................44
3.1.2.4 Eclipse junto a Phonegap....................................................................................................45
3.1.2.4.1 Factibilidad tcnica......................................................................................................45
3.1.2.4.2 Factibilidad Econmica................................................................................................46
3.1.2.4.3 Factibilidad Operacional..............................................................................................47
3.1.2.4.4 Factibilidad Implementativa.........................................................................................48
3.1.3 Solucin Propuesta.............................................................................................................49
3.1.4 Beneficio de la solucin.....................................................................................................49
3.3 Desarrollo Tcnico....................................................................................................................50
3.3.1 Marco del desarrollo..........................................................................................................50
3.3.1.1 Anlisis............................................................................................................................50
3.3.1.2 Diseo.............................................................................................................................51
3.3.2 Plan del Proyecto................................................................................................................52
3.3.3Preparacin del Proyecto.....................................................................................................52
3.3.4Anlisis................................................................................................................................53
3.3.5 Diseo................................................................................................................................53

3.3.6 Pruebas...............................................................................................................................53
3.3.7 Desarrollo del Proyecto......................................................................................................53
3.4 Anlisis......................................................................................................................................54
3.4.1 Modelado de clases responsabilidades colaboraciones................................................55
3.4.1.1 Identificacin de clases y objetos....................................................................................55
3.4.1.2 Anlisis del Dominio.......................................................................................................59
3.4.1.3 Especificacin de atributos.................................................................................................62
3.5 Definicin de estructuras y jerarquas de PhoneGap................................................................70
3.6 Crear Aplicacin con PhoneGap...............................................................................................74
3.7 Encapsulado de la aplicacin - Uso de PhoneGap Build..........................................................75
3.7.1Cordoba.js...........................................................................................................................77
3.7.2 Estructura de Archivos de Phonegap..................................................................................78
3.8 Estructura de un proyecto..........................................................................................................79
3.9 DISEO....................................................................................................................................83
3.9.1Diseo de sistema................................................................................................................83
3.9.2 Particionar el modelo de anlisis........................................................................................83
3.9.3 Foto de subsistemas............................................................................................................83
3.10 Componentes de interfaz de usuario.......................................................................................84
3.11 Componente de la administracin de datos.............................................................................88
CAPITULO IV. Resultados.................................................................................................................89
4.1 Plan de Pruebas.........................................................................................................................89
4.2 Prueba del Sistema....................................................................................................................89
Conclusin...........................................................................................................................................90

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 Terico


2.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
Tablet
Hoy 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 OS
En 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
iOS
El 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.
El entorno 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.
2.
3.
4.
5.

Acceder a la consola de Google Play para desarrolladores.


En la parte superior de la pantalla, hacer clic en Aadir nueva aplicacin.
En el men desplegable, seleccionar el idioma predeterminado y aadir un ttulo para la aplicacin.
Escribir el nombre de la aplicacin tal y como se quiere que aparezca en Google Play.
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:

Microprocesador Procesador Intel Core i3-2328M de segunda generacin a 2,20 GHz


Memoria
SDRAM DDR3 de 4 GB (1 DIMM)
Grficos de video
Intel HD Graphics 3000 con memoria total de grficos de hasta 1696 MB
Pantalla Pantalla 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.
Descripcin
Sistema Operativo

Tabla 3.1 Detalle de costos Mobincube


Cantidad
1

(Windows 8.1 OEM 32 BIT)


Notebook
Tipo de plan anual
(HOME)
TOTAL

1
1

valor
$68.390
$ 349.990
$142.152
$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 AIDE


Descripcin
Cantidad
Mvil gama media alta
1
Aplicacin
(Versin
1
Pagada)
TOTAL

Valor
$99.990
$6.155
$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:
Red:

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

Qualcomm Snapdragon 400 a 1,2 GHZ


Bandas
Red
2G
GSM/GPRS/EDGE

Bandas

Red

3G

UMTS

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:
Descripcin
dispositivo gama media

Tabla 3.3 Detalle de costos Rethi


Cantidad
1

Valor
$99.990

alta
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 operacional


Rheti 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:

Microprocesador Procesador Intel Core i3-2328M de segunda generacin


a 2,20 GHz
Memoria
SDRAM DDR3 de 4 GB (1 DIMM)
Grficos de video
Intel HD Graphics 3000 con memoria total de grficos de hasta 1696 MB
Pantalla Pantalla 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 phonegap
Descripcin
Cantidad
valor
Notebook
1
$ 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 Phonegap
Descripcin
Cantidad
valor
Notebook
1
$ 349.990
Licencia Android
1
US$ 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 Phonegap


Descripcin
Cantidad
valor
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 gramatical
Clase / Objeto
Usuario

Clasificacin general
Rol o entidad externa

Dispositivo mvil
Consultar
Eventos
Seleccionar informacin
Geolocalizacin
Ingenieros

Entidad externa
Ocurrencia o suceso
Ocurrencia o suceso
Ocurrencia o suceso
Ocurrencia o suceso
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 objetos
Clase / Objeto

Caractersticas aplicables

Usuario
Dispositivo mvil
Consultar
Eventos
Seleccionar informacin
Geolocalizacin
Ingenieros

Rechazado
Aceptado
Rechazado
Aceptado
Rechazado
Aceptado
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:


Clase
ItemSelectable

Tabla 3.9 Objetos Candidatos reutilizables


Librera
Descripcin
Java.awt
Interface para objetos
que contengan elementos que
puedan ser seleccionados, tales
como Checkbox, ComboBox,
Boton.

ActiveEvent

Java.awt

Interface para que los


eventos sepan que pueden ser

Component

Java.awt

lanzados.
Es un objeto que tiene
representacin grfica que se
puede visualizar en la pantalla,
adems de interactuar con el

Android.hardware

usuario.
Permite el acceso al
hardware del dispositivo, tales
como acelermetro, cmara,

Android.location

sensores y brjula.
Da 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
Aade un receptor de eventos de tipo
addItemListener
getSelectedObjects

Action producidos por el botn.


Devuelve la etiqueta o ttulo del botn.

Elimina el receptor de eventos para que


removeItemListener

el botn deje de realizar accin alguna.

Tabla 3.11 Atributos de la Clase Component


Component
Clase interna del componente utilizado
Component.AccessibleAWTComponent

para

proporcionar

compatibilidad

predeterminada para la accesibilidad.


Enumeracin de las formas comunes de
Component.BaselineResizeBehavior

la lnea base de un componente puede cambiar a


medida que cambia el tamao.
Clase interna para blitting fuera de la

Component.BltBufferStrategy

pantalla superficies a un componente.


Clase interna para voltear buffers en un

Component.FlipBufferStrategy

componente.

Tabla 3.12 Atributos de la Clase Android.hardware


Android.hardware
Estima el campo magntico en un punto

GeomagneticField

dado en la Tierra y, en particular, para calcular la

Sensor

declinacin magntica del norte verdadero.


Clase que representa un sensor.
Esta clase representa un sensor de

SensorEvent

eventos y tiene informaciones como el tipo de


sensor, el sello de tiempo, precisin y, por
supuesto, del sensor de datos
SensorManager le permite acceder del

SensorManager

dispositivo sensores.

Tabla 3.13 Atributos de la Clase Android.location


Android.location
clase que representa una direccin, es
Address

decir, un conjunto de cadenas que describen una


ubicacin
Clase con indicacin de los criterios de

Criteria

aplicacin para la seleccin de un proveedor de


ubicacin.
Clase para el manejo de geocodificacin

Geocoder

y geocodificacin inversa.
Clase representa el estado actual de un

GpsSatellite

satlite GPS.
Clase representa el estado actual del

GpsStatus

motor GPS.
Clase de datos que representa una

Location

ubicacin geogrfica.
Clase proporciona acceso a los servicios

LocationManager

de localizacin del sistema.


Una
superclase

LocationProvider

proveedores de localizacin.

abstracta

para

Dinmicamente especifica el estado de


SettingInjectorService

habilitacin de una preferencia, inyecta en la


lista de configuracin de la aplicacin

Tabla 3.14 Atributos de la Clase ActiveEvent


ActiveEvent
Distribuir el evento a su objetivo, los
dispatch()

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.html
Arquitectura 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 XML
Imagen 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 aplicacin
Imagen 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. Resultados


4.1 Plan de Pruebas
Una 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 prototipo
Evaluacin
Pruebas
Utilizar geolocalizacion para mostrar ubicacin de
eventos.
Navegabilidad del sistema.
Conectividad entre clases
Velocidad de respuesta del sistema
Seleccin de rango en kilmetros
Categorizacin de actividades y mens
Verificacin de cmara para compartir fotografas
Reproduccin de Videos
Fuente elaboracin propia

Bueno
Bueno
Bueno
Bueno
Incompleta
Bueno
Bueno
Bueno

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.

You might also like