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.