• No se han encontrado resultados

Realidad aumentada para la promoción turística del cantón Pelileo

N/A
N/A
Protected

Academic year: 2020

Share "Realidad aumentada para la promoción turística del cantón Pelileo"

Copied!
134
0
0

Texto completo

(1)

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”

FACULTAD DE SISTEMAS MERCANTILES CARRERA DE SISTEMAS

PROYECTO DE INVESTIGACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS E INFORMATICA

TEMA:

“REALIDAD AUMENTADA PARA LA PROMOCIÓN TURÍSTICA DEL CANTÓN PELILEO”

AUTOR:

CHILIQUINGA MORETA JOSÉ MANUEL ASESOR:

ING. LOZADA TORRES EDWIN FABRICIO

(2)

APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN

CERTIFICACIÓN:

Quien suscribe, legalmente CERTIFICA QUE: El presente Trabajo de Titulación realizado

por el señor JOSÉ MANUEL CHILIQUINGA MORETA estudiante de la carrera de Sistemas, Facultad de Sistemas Mercantiles, con el tema REALIDAD AUMENTADA

PARA LA PROMOCIÓN TURÍSTICA DEL CANTÓN PELILEO, ha sido prolijamente revisado, y cumple con todos los requisitos establecidos en la normativa pertinente de la

Universidad Regional Autónoma de los Andes -UNIANDES-, por lo que apruebo su

presentación.

Ambato, Diciembre del 2017

_______________________________

Ing. Lozada Torres Edwin Fabricio

(3)

DECLARACIÓN DE AUTENTICIDAD

Yo, JOSÉ MANUEL CHILIQUINGA MORETA, estudiante de la carrera de Sistemas,

Facultad de Sistemas Mercantiles, con el tema REALIDAD AUMENTADA PARA LA

PROMOCIÓN TURÍSTICA DEL CANTÓN PELILEO, declaro que todos los resultados obtenidos en el presente trabajo de investigación, previo a la obtención del título

INGENIERO EN SISTEMAS E INFORMÁTICA, son absolutamente originales, auténticos y personales; a excepción de las citas, por lo que son de mi exclusiva

responsabilidad.

Ambato, Diciembre del 2017

_______________________________

José Manuel Chiliquinga Moreta,

Ci 1805406350

(4)

DERECHOS DE AUTOR

Yo, JOSÉ MANUEL CHILIQUINGA MORETA, declaro que conozco y acepto la disposición constante en el literal d) del Art. 85 del Estatuto de la Universidad Regional

Autónoma de Los Andes, que en su parte pertinente textualmente dice: El Patrimonio de la

UNIANDES, está constituido por: La propiedad intelectual sobre las Investigaciones,

trabajos científicos o técnicos, proyectos profesionales y consultaría que se realicen en la

Universidad o por cuenta de ella;

Ambato, Diciembre del 2017

_______________________________

José Manuel Chiliquinga Moreta,

Ci 1805406350

(5)

DEDICATORIA

Dedico mi tesis a dios por haber dado la vida y haber hecho de un hombre de bien

para el futuro y para agradecerle por la familia que me ha dado.

A mi padres por ser quien me ha brindado su apoyo durante todos mis estudios y

por darme el mejor ejemplo de que culmine mis estudios a pesar de el no haber

podido culminar los suyos.

A mi hermano por brindado su apoyo durante todos mis estudios y por darme el

(6)

AGRADECIMIENTO

Agradezco en primer lugar a Dios por la perseverancia y compañía que me ha

brindado.

A cada uno de los profesores que ayudaron en mi formación profesional.

A mi tutor y guía Ing. Lozada Torres Edwin Fabricio quién me brindo gran ayuda

técnica para culminar el proyecto.

A Municipio de Pelileo del Departamento de Turismo quienes fueron de gran apoyo

para la realización del presente proyecto.

A la Unidad Educativa Fray Bartolomé de las Casas “Salasaca” por ser quien me

ha brindado su apoyo económico durante los estudios Universitarios para alcanzar

mi primer sueño de ser un ingeniero en Sistemas e Informática.

A mis padres y hermanos los cuales siempre me han impulsado con su ejemplo a

(7)

ÍNDICE GENERAL Certificación:

Declaración de autenticidad

Derechos de autor

Dedicatoria

Agradecimiento

Índice general

Índice de tablas

Índice de gráficos

Resumen ejecutivo

Executive summary

INTRODUCCIÓN ... 1

Antecedes de la investigación ... 1

Situación problemática ... 3

Problema científico ... 4

Objeto de investigación y campo de acción ... 4

Identificación de la línea de investigación ... 4

Objetivos ... 5

Objetivo General ... 5

Objetivos Específicos ... 5

Idea defender ... 5

Variables de la investigación ... 6

Justificación ... 6

CAPITULO I ... 7

1. MARCO METODOLÓGICO ... 7

1.1. Sistema Operativo Android ... 7

1.1.1. Definición ... 7

1.1.2. Características ... 7

1.1.3. Arquitectura ... 9

1.1.4. Versiones ... 10

1.2. Herramientas de Desarrollo ... 20

(8)

1.2.2. Lenguajes de programación... 21

1.2.3. Vistas de Unity 3D ... 22

1.2.3.1. Vista de escena ... 22

1.2.3.2. Vista de juego ()game ... 23

1.2.3.3. Vista de jerarquía ... 23

1.2.3.4. Vista de proyecto ... 24

1.2.3.5. Vista de inspector ... 24

1.2.4. Script ... 24

1.2.5. JDK ... 25

1.2.6. SDK de Android ... 25

1.2.7. Tipos de aplicación ... 25

1.2.7.1. Proceso de primer plano ... 26

1.2.7.2. Proceso visible ... 26

1.2.7.3. Proceso de servicio ... 26

1.2.7.4. Proceso de fondo ... 26

1.2.7.5. Proceso vacío ... 27

1.2.8. Componentes de una aplicación... 27

1.2.8.1. Vista (view) ... 27

1.2.8.2. Layout ... 27

1.2.8.3. Actividad (Activity)... 28

1.2.8.4. Servicio (Service) ... 28

1.2.8.5. Intención (Intent) ... 28

1.2.8.6. Receptor de anuncios (Broadcast receiver) ... 28

1.2.8.7. Proveedores de contenido (Contení Provider) ... 29

1.2.9. Servicio web ... 29

1.2.9.1. Alternativa en los servicios web ... 29

1.2.9.2. Servicios web basados en SOAP ... 30

1.2.9.3. Servicios web basados en REST ... 30

1.2.10. SQLite ... 31

1.2.10.1. ... Características 31 1.3. Realidad Aumentada ... 33

1.3.1. Definición ... 33

(9)

1.3.3. Captación de las escenas ... 35

1.3.4. Identificación de escenas... 36

1.3.4.1. Reconocimiento por marcadores ... 36

1.3.4.2. Reconocimiento sin marcadores ... 37

1.3.4.3. Reconocimiento basado en objetos ... 37

1.3.4.4. Reconocimiento facial ... 38

1.3.4.5. Reconocimiento del movimiento... 38

1.3.4.6. Reconocimiento de imágenes ... 39

1.3.4.7. Reconocimientos por posicionamiento ... 40

1.4. Promoción Turística ... 41

1.4.1. Importancia de turismo ... 42

1.4.2. Turismo sostenible ... 42

1.4.3. Tics en el turismo ... 43

1.4.4. Conclusión parcial del capitulo ... 44

CAPITULO II ... 46

2. MARCO METODOLÓGICO ... 46

2.1. Caracterización del Sector ... 46

2.2. Proceso Metodológico ... 46

2.2.1. Modalidad de investigación ... 47

2.2.1.1. Cualitativa ... 47

2.2.1.2. Cuantitativa ... 47

2.2.2. Tipos de investigación ... 47

2.2.3. Métodos, técnicas e instrumentos ... 48

2.2.4. Población y muestra ... 49

2.2.5. Análisis e implementación de resultado ... 51

2.2.5.1. Encuestas ... 51

2.2.5.2. Entrevista... 58

2.3. Propuesta del investigación ... 60

2.4. Conclusión parcial del capitulo ... 61

CAPITULO III ... 62

3. MARCO PROPOSITIVO ... 62

3.1. Tema ... 62

3.2. Objetivo ... 62

(10)

3.3.1. Definición de la metodología ... 62

3.3.1.1. Faces de la metodología ICONIX ... 63

3.3.2. Análisis de requisitos ... 65

3.3.2.1. Especificación de requerimiento ... 65

3.3.2.2. Diagrama de clases ... 70

3.3.2.3. Modelo lógico de la Base de Datos ... 72

3.3.2.4. Modelo físico de la Base de Datos ... 72

3.3.2.5. Diccionario de base de datos ... 73

3.3.2.6. Mapa de navegación ... 77

3.3.2.7. Diagrama de caso de uso ... 78

3.3.3. Análisis y diseño preliminar ... 79

3.3.3.1. Descripción de casos de uso ... 79

3.3.4. Desarrollo ... 83

3.3.3.2. Proyecto de portal web ... 83

3.3.3.3. Proyecto Android ... 85

3.4. Pruebas ... 92

3.4.1. Prueba de navegadores ... 93

3.4.2. Prueba de Caja Blanca ... 95

3.4.3. Prueba de caja negra ... 96

3.5. Costo ... 97

3.6. Implementación ... 97

Conclusiones ... 103

Recomendaciones ... 104

Bibliografía ... 105

ANEXOS ... 108

ANEXO 1: ARCHIVOS DE LA APLICACIÓN ... 109

ANEXO 2: ENTREVISTA ... 114

ANEXO 3: ENCUESTA DE LOS TURISTAS ... 116

(11)

ÍNDICE DE TABLAS

Tabla N° 1: Población ... 50

Tabla N° 2: Pregunta número uno ... 51

Tabla N° 3: Pregunta número uno ... 52

Tabla N° 4: Pregunta número uno ... 53

Tabla N° 5: Pregunta número uno ... 54

Tabla N° 6: Pregunta número uno ... 55

Tabla N° 7: Pregunta número uno ... 56

Tabla N° 8: Pregunta número uno ... 57

Tabla N° 9: Requerimientos funcionales de la aplicación web... 66

Tabla N° 10: Requerimientos funcionales de la aplicación web... 66

Tabla N° 11: Requerimientos funcionales de la aplicación web... 67

Tabla N° 12: Requerimientos funcionales de la aplicación web... 67

Tabla N° 13: Requerimientos funcionales de Realidad Aumentada ... 68

Tabla N° 14: Requerimientos funcionales de Realidad Aumentada ... 68

Tabla N° 15: Requerimientos funcionales Realidad Aumentada ... 69

Tabla N° 16: Requerimientos no funcionales ... 69

Tabla N° 17: Requerimientos no funcionales ... 70

Tabla N° 18: Requerimientos no funcionales ... 70

Tabla N° 19: Diccionario de Base de Datos ... 73

Tabla N° 20: Diccionario de Base de Datos ... 76

(12)

ÍNDICE DE GRÁFICOS

Imagen N° 1: Arquitectura de Android ... 10

Imagen N° 2: Captación de las escenas... 36

Imagen N° 3: Reconocimiento por marcadores. ... 37

Imagen N° 4: Reconocimiento basado en objetos. ... 38

Imagen N° 5: Reconocimiento basado en objetos ... 39

Imagen N° 6: Reconocimiento por posicionamiento. ... 41

Imagen N° 7: Pregunta número uno ... 51

Imagen N° 8: Pregunta número dos ... 52

Imagen N° 9: Pregunta número tres ... 53

Imagen N° 10: Pregunta número cuatro ... 54

Imagen N° 11: Pregunta número cinco ... 55

Imagen N° 12: Pregunta número seis ... 56

Imagen N° 13: Pregunta número uno ... 57

Imagen N° 14: Diagrama de clases de la página web ... 71

Imagen N° 15: Diagrama de clases de Realidad Aumentada ... 71

Imagen N° 16: Modelo lógico de la Base de Datos ... 72

Imagen N° 17: Modelo físico de la Base de Datos ... 72

Imagen N° 18: Mapa de navegación de la página web... 77

Imagen N° 19: Mapa de navegación de la Realidad Aumentada ... 77

Imagen N° 20: Diagrama de Caso de Uso de Administrador ... 78

Imagen N° 21: Diagrama de Caso de Uso del Usuario... 78

Imagen N° 22: Diagrama de Caso de Uso de General ... 78

Imagen N° 23: Diagrama de Caso de Uso Aplicación Móvil de Realidad Aumentada ... 79

Imagen N° 24: Entorno de desarrollo ... 84

Imagen N° 25: Entorno de desarrollo ... 84

Imagen N° 26: Entorno de desarrollo ... 85

Imagen N° 27: Entorno de desarrollo ... 85

Imagen N° 28: Entorno de desarrollo ... 85

Imagen N° 29: Unity, entorno de desarrollo ... 89

Imagen N° 30: Unity, entorno de desarrollo ... 90

Imagen N° 31: Unity, entorno de desarrollo ... 90

Imagen N° 32: Prueba de navegador Google Chrome ... 93

Imagen N° 33: Prueba de navegador Mozilla Firefox ... 94

Imagen N° 34: Prueba de navegador Internet Explore ... 94

Imagen N° 35: Prueba de navegador Internet Explore ... 95

Imagen N° 36: Prueba de Caja Blanca ... 96

Imagen N° 37: Opciones de desarrollador... 98

Imagen N° 38: Opciones de desarrollador... 99

Imagen N° 39: Aplicación compilada de la Luna Bonsái... 99

Imagen N° 40: Aplicación compilada de Complejo Turístico el Truchon ... 100

(13)

Imagen N° 42: Aplicación compilada de Cruz de Cotaló ... 101

Imagen N° 43: Aplicación compilada de Complejo Turístico el truchon ... 101

Imagen N° 44: Aplicación compilada de complejo turístico el truchon ... 102

(14)

RESUMEN EJECUTIVO

El proyecto de investigación tiene como objetivo implementar un portal web de

turismo para la ciudad de Pelileo y una aplicación móvil de realidad aumentada

para mejorar la promoción turística, la cual se llevó a cabo recopilando información,

a través de entrevistas, encuestas, revisión de documentos, entre otros.

La realidad aumentada es un nuevo paradigma de interacción con el usuario, por

el cual se incluye información virtual en el mundo real, por lo que se considera a las

aplicaciones de realidad aumentada como herramienta publicitarias.

Para la elaboración de la aplicación Web se utilizó las herramientas de desarrollo

de portal web, así como de los administradores de contenidos CMS, mientras que

para la aplicación móvil de realidad aumentada se utilizó Unity, SDK de Vuforia y

lenguaje de programación C Sharp.

La metodología establecida para la creación de la aplicación del portal web, realidad

aumentada fue Iconix ya que es considera como un método Iterativo-incremental.

La aplicación desarrollada brinda información sobre los centros turísticos que se

encuentra en la ciudad de Pelileo, se puede instalar la aplicación de realidad

aumentada en una versión de Android mínimo de 4.0.

Con la implementación de la página web se aportó para incentivar el turismo,

ofreciendo al público una experiencia novedosa a través de la ubicación de realidad

Aumentada por marcadores.

La información sobre los lugares turísticos se mantendrá actualizada, debido a que

los cambios sobre los centros turísticos de la ciudad de Pelileo se la realizarán en

(15)

EXECUTIVE SUMMARY

This research work bases on the design of a mixology guide in order to analyze the

effects that drinks have got in Ambato city. The problem identified is the inexistence

of a mixology guide to improve tourist information; therefore, innovation techniques

will be applied by the author.

It is essential to point out that this research takes place in Ambato city and it is aimed

to create a mixology guide in order to guarantee the usage of traditional drinks. It is

also aimed to take positive advantage of tourism care and service; in addition, the

economic situation of the country would be highly benefited.

This study used theoretical references; furthermore, historic-logic and analytic

synthetic methods were applied to identify previous background. In the same order,

diagnosis and analyses procedures were essential to perform; therefore, the

research tools have quantitative and qualitative traits on this descriptive and

exploratory research work.

The proposal suggested within this research is aimed to lead the community and

tourists to the use of information; therefore drinks classification will be easily

identified by their traits, ingredients, procedures, and drink mixology techniques.

(16)

1 INTRODUCCIÓN

Antecedes de la investigación

El avance tecnológico en forma general es evidente, en la actual década se puede

observar que nuevos desarrollos se van adaptando al diario vivir, uno de estos

avances es la Realidad Aumentada.

La existencia de aplicativos móviles para promocionar los atractivos turísticos, es

muy significativo, ya que promueven que sus visitas se realicen con mayor

frecuencia por los turistas, se debe considerar también que la falta de uso o

insuficiencia de estos elementos, hay deficiencia en los servicios turísticos optados

por el ofertante. (Biz, 2011)

En la Escuela Superior Politécnica de Chimborazo Facultad de Informática y

Electrónica se desarrolló el siguiente proyecto: Investigar las características y

componentes que debe tener la realidad aumentada para que sirva como técnica

de aprendizaje en niños de seis años de la Institución Educativa Bilingüe Junior

College. Este proyecto se enfocó en descubrir características, componentes y

procesos en el diseño de aplicaciones de Realidad Aumentada ya existentes y

elaborar una metodología para niños. Se investigó el lenguaje gráfico para una

aplicación de Realidad Aumentada que tenga un alto grado de aceptación,

significación y funcionalidad en los niños (Pumalema, 2012).

En la Universidad Regional Autónoma de los Andes “Uniandes” se desarrolló el

siguiente proyecto: Aplicación de realidad aumentada para lograr un mejoramiento

en la publicidad de alto impacto de los proyectos inmobiliarios de la empresa

VECOVA Cía. Ltda. Se Diseñó la aplicación de realidad aumentada utilizando

herramientas tales como: Modul8, MadMapper, Adobe After Effects y Hardware de

controlamiento digital y proyección de imágenes (López, 2014).

Con la aparición de nuevas tecnologías como Smartphone han surgido muchas

(17)

2

El turismo en estas décadas ha sido de una gran expectativa donde los usuarios

buscan un lugar de placer donde puedan desarrollar sus actividades a gusto y

confortablemente, así mismo buscan o exploran diversos lugares donde puedan

ellos desplazarse con facilidad y para su debido optan por la ayuda de aplicaciones

de itinerarios turísticos. Debemos tener en claro que los turistas no solo se

desplazan por un único motivo sino por varias razones como son, por trabajo,

diversión, ocio, refugio y para ello buscan paquetes turísticos con atractivos que

impacten y que llamen mucho la atención. Hoy en día gracias a la ayuda de las

modernas tecnologías es más fácil recorrer el lugar antes de visitarla y a la ayuda

de GPS se pueden también localizar el lugar y distancia con fallos de centímetros

solamente, es posible citar los atractivos que necesite explorar y dar a conocer con

anterioridad a los guías turísticos para su disposición. (Díaz, 2012)

Con más de 200 millones de usuarios en todo el mundo, Internet se ha convertido

en el medio de comunicación más extendido en toda la historia de la humanidad, y

constituye una fuente de recursos de información y conocimientos compartidos a

escala mundial. Es también la vía de comunicación que permite establecer la

cooperación y colaboración entre un gran número de comunidades y grupos de

interés por temas específicos, distribuidos por todo el planeta. (Luque, 2015)

La Realidad Aumentada (Augmented Reality, AR por sus siglas en inglés) es un

tema que ha ido tomando fuerza en la última década a pesar de que este término

tiene más de 20 años. La AR, es una tecnología que mezcla la realidad y añade lo

virtual, la mayoría de las personas creen que esto es realidad virtual, pero no lo es,

ya que esta implica aislarte de la realidad e introducirte a una virtual. La AR se

define como una mezcla de dos entornos, uno real y otro virtual, que actualmente

se puede implementar en distintos dispositivos. De esta forma se enriquecen las

experiencias visuales y puede apoyar en mejorar múltiples técnicas de aprendizaje

(Iván Peredo Valderrama, 2014).

En el sector turístico a nivel mundial podemos encontrar ejemplos del uso de la

(18)

3

La Universidad Pontificia de Salamanca, mediante el Club Universitario de

Innovación, realizaron los proyectos:

 Diseño e implementación de un prototipo de aplicación para smartphones y

tablets basada en una experiencia de turismo interactivo de realidad

aumentada.

 Aplicación del proyecto a la visita ScalaCoeli, de la Real Clerecía de San Marcos, con el fin de poder escanear las vistas desde lo alto de las torres y

obtener automáticamente información sobre diferentes puntos de interés

turístico de la ciudad, su historia, y notas relevantes. (Sara Díez Castaño,

2013)

En la Escuela Profesional de Ingeniería de Computación y Sistemas se desarrolló

el siguiente proyecto: Aplicación móvil basada en realidad aumentada para el

acceso a la información en tiempo real de los principales atractivos turísticos y

restaurantes calificados del Centro Histórico de Lima a través del uso de

smartphones. Se concluyó que usar la Realidad Aumentada, en el Smartphone, que

permita mostrar una información relevante del atractivo turístico que el turista esté

visitando (Caballero Cabrera, 2014).

La Universidad Politécnica Salesiana Sede Cuenca Facultad de Ingenierías Carrera

de Ingeniería de Sistemas realizo el siguiente proyecto: Análisis, diseño e

implementación de una aplicación con realidad aumentada en teléfonos móviles

orientada al turismo, en el que se dio a conocer los lugares turísticos de Cuenca a

partir de las marcas captadas en tiempo real con un dispositivo móvil (Efraín Galo

Cuzco Simbaña, 2012).

Situación problemática

San pedro de Pelileo es un cantón de la provincia de Tungurahua desde el año de

1570, está ubicado en el centro del Ecuador. A 150 km/ 2:30 de quito, a 25 minuto

de baños, en la Ruta de los volcanes, y en la puerta de entrada a la Amazonia,

(19)

4

Para el caso del cantón San Pedro de Pelileo, uno de los principales problemas con

los que cuenta el área turística es la falta de difusión oficial de sus atractivos.

Lamentablemente para el sector turístico se ha hecho que al cantón se la catalogue

de mala manera y no se valoren sus atractivos turísticos.

En la actualidad para promocionar el turismo de este cantón se están utilizando

libros, folletos y volantes con información turística de interés pero estas campañas

no han generado el impacto necesario para aumentar el número de turistas que

visitan los lugares turísticos de Pelileo, y se convierten en esfuerzos

descentralizados e inútiles.

Otro gran problema que encuentran muchos turistas al visitar un destino es

averiguar dónde se localizan los sitios de interés. Es muy habitual perderse y

desorientarse, aun a pesar de la utilización habitual por parte del turista de mapas

y folletos de información; pues no todas las personas son capaces de orientarse

satisfactoriamente y a veces, las indicaciones pueden cambiar mucho de un mapa

a la realidad por obras o desactualización.

Problema científico

¿Cómo mejorar la promoción turística en la ciudad de Pelileo, para mostrar sus

atractivos, y recibir visitantes nacionales e internacionales?

Objeto de investigación y campo de acción

Objeto de investigación.- Aplicación Web con Realidad Aumentada

Campo de acción.- Aplicaciones Web y Móviles.

Identificación de la línea de investigación

(20)

5 Objetivos

Objetivo General

 Desarrollar una Aplicación de Realidad Aumentada para la promoción turística del cantón “San Pedro de Pelileo”

Objetivos Específicos

 Fundamentar la Realidad Aumentada, aplicaciones web y móviles, sus herramientas de desarrollo y la promoción turística.

 Realizar una investigación de campo sobre la promoción turística del cantón

San Pedro de Pelileo de la provincia de Tungurahua.

 Diseñar estrategias tecnológicas para la promoción turística del cantón San Pedro de Pelileo.

Idea defender

La implementación de una aplicación de realidad aumentada para mejorar la

promoción turística del Cantón San Pedro de Pelileo de la provincia de Tungurahua

dentro del cantón vera aumentado su número de visitantes, y el sector turístico vera

aumentados sus ingresos económicos.

Tomando en cuenta el crecimiento del uso de los dispositivos inteligentes y los

avances tecnológicos que se ha presentado en este ámbito como su resultado se

ha podido obtener variedades de aplicaciones móviles que son capases de

gestionar información para realizar diferentes tareas turístico es una necesidad

óptica para el desarrollo de una aplicación que pueda brindar a los turistas la

oportunidad de acceder a información de una manera más sencilla con la realidad

aumentada con lo cual se pueda combinar en el mundo real con elementos e

información virtual con ello dar a conocer información de lugares turísticos de forma

(21)

6 Variables de la investigación

Variable independiente: Realidad Aumentada

Variable dependiente: Promoción turística.

Justificación

Tomando en cuenta el uso de los ‘smartphones’ no detiene su crecimiento. En el

2015, 3 084 886 ecuatorianos declararon tener, al menos, un teléfono inteligente;

esto es, seis veces más que lo reportado en el 2011, cuando la cifra era de 522

640, según el Instituto Nacional de Estadística y Censos (INEC) (Líderes, 2016).

Además el gran avance en tecnología que se ha presentado en este ámbito, como

su resultado se ha podido obtener variedad de aplicaciones móviles capaces de

gestionar información para realizar diferentes tareas.

En el área turística, se encuentra las necesidades óptimas para el desarrollo de

una aplicación que pueda brindar a los turistas la oportunidad de acceder a

información de una manera más sencilla.

Uno de los avances tecnológicos existentes, que pueda englobar estas

prestaciones y necesidades es la Realidad Aumentada, con la cual se puede

combinar el mundo real con la información virtual, creando la combinación óptima

para dar a conocer información de lugares turísticos de forma innovadora.

Se puede mencionar que existen plataformas libres para el desarrollo de esta

(22)

7 CAPITULO I

1. MARCO METODOLÓGICO

1.1. Sistema Operativo Android

1.1.1. Definición

Según (Victoria López, 2012 ), Android es un sistema operativo y una plataforma

software, basado en Linux para teléfonos móviles. Android permite programar en

un entorno de trabajo (framework) de Java, dado que Android es de código libre,

por lo que sabiendo programar en lenguaje Java, va a ser muy fácil comenzar a

programar en esta plataforma.

Según (Clodoaldo Robledo Sacristán, 2012 ), Android es un sistema operativo,

inicialmente diseñado para teléfonos móviles como los sistemas operativos iOS

(Apple), Symbian (Nokia) y Blackberry OS. En la actualidad, este sistema operativo

se instala no sólo en móviles, sino también en múltiples dispositivos, como tabletas,

GPS, televisores, discos duros multimedia, miniordenadores, etcétera. Incluso se

ha instalado en microondas y lavadoras. Está basado en Linux, que es un núcleo

de sistema operativo libre, gratuito y multiplataforma

Con la diferencia de anteriores considero que el sistema operativo Android tiene

un sin número de ventajas de los resto de sistemas operativos por su código abierto

ya que podemos desarrollarla aplicaciones que podemos incorporar nuevas

tecnologías sin ningún pago y otra ventaja es basado en Linux ya que es muy

conocido.

1.1.2. Características

Android soporta las siguientes características:

(23)

8

Diseñado para dispositivo pequeño: El sistema operativo es compatible con pantallas VGA (y mayores), gráficos 2D y gráficos 3D presentes en

muchos teléfonos tradicionales.

Almacenamiento: Dispone de la base de datos ligera SQLite donde se almacenan los datos de las aplicaciones.

Conectividad: Android soporta las siguientes tecnologías de conectividad: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE y WiMAX.

Algunas son muy populares en los teléfonos actuales y otras se están

desarrollando.

Mensajería: Se pueden usar tanto SMS como MMS.

Navegador web: El navegador web incluido en Android está basado en el motor del navegador de código abierto WebKit. Este navegador es muy

eficiente y permite cargar las páginas Web rápidamente.

Soporte de Java: Aunque las aplicaciones se escriben en el lenguaje Java, no hay una Máquina Virtual de Java en el sistema operativo para ejecutar el

código. Este código Java se compila en un ejecutable Dalvik y se ejecuta en

la Máquina Virtual Dalvik. Dalvik es una máquina virtual especializada,

diseñada específicamente para Android y optimizada para dispositivos

móviles que funcionan con batería y que tienen memoria y procesador

limitados. Es posible incluir las librerías J2ME nativas de Java mediante

aplicaciones de terceros, como J2ME MIDP Runner.

Soporte multimedia: Android soporta los siguientes formatos multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMR-WB (en un

contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI,

Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.

Soporte para streaming (distribución en Internet): Android soporta los siguientes formatos de streaming: RTP/RTSP, descarga progresiva de

HTML (tag <video> de HTML5). Adobe Flash Streaming (RTMP) es

soportado mediante la instalación de Adobe Flash Player, pero sólo para

algunos terminales.

(24)

9

magnetómetros, sensores de proximidad y de presión, termómetro,

aceleración 2D y 3D.

Entorno de desarrollo: El entorno de desarrollo es Eclipse 3.7 y el plugin de Herramientas de Desarrollo de Android (ADT) que incluye un emulador

de dispositivos, herramientas de depuración y análisis de rendimiento.  Market (Mercado de aplicaciones): El Android Market es un catálogo de

aplicaciones gratuitas y de pago que pueden ser descargadas e instaladas

desde los propios dispositivos Android.

Multi-táctil: Android tiene soporte nativo para pantallas multi-táctiles que permiten manejar la pantalla táctil con más de 1 dedo.

Bluetooth: En la versión 2.2 de Android se incluye la funcionalidad completa.

Videollamada: Android incluye la posibilidad de video llamada a través de Google Talk.

Multitarea: Existe la multitarea real de aplicaciones, es decir, las aplicaciones que no se están ejecutando en primer plano reciben ciclos de

reloj del procesador para actualizar su estado.

Características basadas en voz: Es posible dar órdenes de voz al terminal. Por ejemplo, la búsqueda en Google a través de la voz ya estaba disponible

desde la primera versión.

Tethering (compartición de conexión a Internet): Android incluye la compartición de la conexión a Internet (en inglés, tethering), que permite usar

el teléfono como un punto de acceso inalámbrico, de manera que un

ordenador puede usar la conexión 3G del móvil Android (Clodoaldo Robledo

Sacristán, 2012 ).

1.1.3. Arquitectura

En se siguiente grafico muestra la arquitectura de Android, como se puede observar

está conformado por 4 capas una de las características más importantes que toda

(25)

10

Imagen N° 1: Arquitectura de Android

Fuente: El gran libro de Android (Gironés, 2012).

1.1.4. Versiones

Primera versión

Android 1.0 Nivel de AP11 (septiembre 2008)

Primera versión de Android. Nunca se utilizó comercialmente, por lo que no tiene

mucho sentido desarrollar para esta plataforma.(Gironés, 2012)

Android 1.1 Nivel de API 2 (febrero 2009)

No se añadieron apenas funcionalidades, simplemente se fijaron algunos errores

de la versión anterior. Es la opción a escoger si queremos desarrollar una aplicación

compatible con todos los dispositivos Android. No obstante apenas existen usuarios

(26)

11

Android 1.5 Nivel de API 3 (abril 2009, Cupcake)

Es la primera versión con algún usuario (un 1,3% en julio del 2011). Como

novedades, incorpora la posibilidad de teclado en pantalla con predicción de texto,

los terminales ya no tienen que tener un teclado físico, así como la capacidad de

grabación avanzada de audio y video. También aparecen los widgets de escritorio

y Uve folders. Incorpora soporte para bluetooth estéreo, por lo que permite

conectarse automáticamente a auriculares bluetooth. Las transiciones entre

ventanas se realizan mediante animaciones (Gironés, 2012).

Android 1.6 Nivel de API 4 (diciembre 2009, Donut)

Permite capacidades de búsqueda avanzada en todo el dispositivo, también

incorpora gestures y multi-touch, permite la síntesis de texto a voz y también facilita

que una aplicación pueda trabajar con diferentes densidades de pantalla. Soporte

para resolución de pantallas WVGA. Aparece un nuevo atributo XML, onClick, que

puede especificarse en una vista. Se mejora Play Store, antes Android Market,

permitiendo una búsqueda más sencilla de aplicaciones. Soporte para

CDMA/EVDO, 802.1x y VPNs. Mejoras en la aplicación de la cámara (Gironés, 2012).

Android 2.0 Nivel de API 5 (octubre 2009, Eclair)

Esta versión de API apenas cuenta con usuarios, dado que la mayoría de

fabricantes pasaron directamente de la versión 1.6 a la 2.1. Como novedades

cabría destacar que incorpora un API para manejar bluetooth 2.1. Nueva

funcionalidad que permite sincronizar adaptadores para conectarlo a cualquier

dispositivo (Gironés, 2012).

Se optimiza la velocidad de hardware. Se aumenta el número de tamaños de

ventana y resoluciones soportadas. Nueva interfaz del navegador y soporte para

HTML5. Mejoras en el calendario y soporte para Microsoft Exchange. La clase

(27)

12

Android 2.1 Nivel de API 7 (enero 2010, Eclair)

Se considera una actualización menor, por lo que le siguieron llamando Eclair.

Destacamos el reconocimiento de voz que permite introducir un campo de texto sin

necesidad de utilizar el teclado. También permite desarrollar fondos de pantalla

animados. Se puede obtener información sobre la señal de la red actual que posea

el dispositivo. En el paquete WebKit se incluyen nuevos métodos para manipular

bases de datos almacenadas en Web. También se permite obtener permisos de

geolocalización y modificarlos en WebView. Incorpora mecanismos para

administrar la configuración de la cache de aplicaciones, almacenamiento web y

modificar la resolución de la pantalla. También se puede manejar video, historial de

navegación, vistas personalizadas (Gironés, 2012).

Android 2.2 Nivel de API 8 (mayo 2010, Froyo)

Como característica más destacada se puede indicar la mejora de velocidad de

ejecución de las aplicaciones (ejecución del código de la CPU de 2 a 5 veces más

rápido que en la versión 2.1 de acuerdo a varios benchmarks). Esto se consigue

con la introducción de un nuevo compilador JIT de la maquina Dalvik.

Se añaden varias mejoras relacionadas con el navegador Web, como el soporte de

Adobe Flash 10.1 y la incorporación del motor JavaScript V8 utilizado en Chrome, o la incorporación del campo de “subir fichero” en un formulario. Proporciona un

servicio para la copia de seguridad de datos que se puede realizar desde la propia

aplicación para garantizar al usuario el mantenimiento de sus datos. Se mejora la

conectividad: ahora podemos utilizar nuestro teléfono para dar acceso a Internet a

otros dispositivos (tethering), tanto por USB como por Wi-Fi. También se añade el

soporte a Wi-Fi IEEE 802.11n. Se añaden varias mejoras en diferentes

componentes: en el API grafica OpenGLES se pasa a soportar la versión 2.0.

También puede realizar fotos o videos en cualquier orientación (incluso vertical) y

(28)

13

Android 2.3 Nivel de API 9 (diciembre 2010, Gingerbread)

Debido al éxito de Android en las nuevas tabletas, ahora soporta mayores tamaños

de pantalla y resoluciones (WXGA y superiores).

La máquina virtual Dalvik para Android introduce un nuevo recolector de basura que

minimiza las pausas de la aplicación, ayudando a garantizar una mejor animación

y el aumento de la capacidad de respuesta en juegos y aplicaciones similares.

Se dispone de mayor apoyo para el desarrollo de código nativo (NDK).También se

mejora la gestión de energía y control de aplicaciones. Y se cambia el sistema de

ficheros, que pasa de YAFFS a EXT4. Entre otras novedades destacamos el

soporte nativo para telefonía sobre Internet VolP/SIP. El soporte para reproducción

de video WebMA/P8 y codificación de audio AAC. El soporte para la tecnología

NFC. Las facilidades en el audio, gráficos y entradas para los desarrolladores de

juegos (Gironés, 2012).

Android 3.0 Nivel de API 11 (febrero 2011, Honeycomb)

Para mejorar la experiencia de Android en las nuevas tabletas se lanza la versión

3.0 optimizada para dispositivos con pantallas grandes. La nueva interfaz de

usuario ha sido completamente rediseñada con paradigmas nuevos para la

interacción, navegación y personalización. La nueva interfaz se pone a disposición

de todas las aplicaciones, incluso las construidas para versiones anteriores de la

plataforma (Gironés, 2012).

Las principales novedades de este SDK son.

Resolución por defecto WXGA (1280x800), escritorio 3D con widgets rediseñados,

nuevos componentes y vistas, notificaciones mejoradas, arrastrar y soltar, nuevo

cortar y pegar, barra de acciones para que las aplicaciones dispongan de un menú

contextual siempre presente y otras características para aprovechar las pantallas

(29)

14

Se mejora la reproducción de animaciones 2D/3D gracias al renderizador OpenGL

acelerado por hardware. El nuevo motor de gráficos Rederscript saca un gran

rendimiento de los gráficos en Android e incorpora su propia API.

Primera versión de la plataforma que soporta procesadores multinucleada. La

máquina virtual Dalvik ha sido optimizada para permitir multiprocesador, lo que

permite una ejecución más rápida de las aplicaciones, incluso aquellas que son de

hilo único. Se incorporan varias mejoras multimedia, como listas de reproducción

M3U a través de HTTP Uve Sreaming, soporte a la protección de derechos

musicales (DRM) y soporte para la transferencia de archivos multimedia a través

de USB con los protocolos MTP y PTP.

En esta versión se añaden nuevas alternativas de conectividad, como las nuevas

APIS de Bluetooth A2DP y HSP con streaming de audio. Tambien se permite

conectar teclados completos por USB o Bluetooth.

El uso de los dispositivos en un entorno empresarial es mejorado. Entre las

novedades introducidas destacamos las nuevas políticas administrativas con

encriptación del almacenamiento, caducidad de contraseña y mejoras para

administrar los dispositivos de empresa de forma eficaz (Gironés, 2012).

Android 3.1 Nivel de API 12 (mayo 2011)

Permite manejar dispositivos conectados por USB (tanto host como dispositivo)

Protocolo de transferencia de fotos y video (PTP/MTP) y de tiempo real (RTP)

(Gironés, 2012).

Android 3.2 Nivel de API 13 (julio 2011)

Optimizaciones para distintos tipos de tableta. Zoom compatible para aplicaciones

(30)

15

Android 4.0 Nivel de API 14 (octubre 2011, Ice Cream Sandwich)

La característica más importante es que se unifican las dos versiones anteriores

(2.x para teléfonos y 3.x para tabletas) en una sola compatible con cualquier tipo

de dispositivo (Gironés, 2012).

Entre las características más interesantes destacamos:

Se introduce un nuevo interfaz de usuario totalmente renovado. Por ejemplo, se

remplazan los botones físicos por botones en pantalla (como ocurría en las

versiones 3.x).

Nuevo API de reconocedor facial que permite, entre otras muchas aplicaciones,

desbloquear el teléfono. También se mejora en el reconocimiento de voz. Por

ejemplo, se puede empezar a hablar en cuanto pulsamos el botón.

Aparece un nuevo gestor de tráfico de datos por Internet, donde podremos ver el

consumo de forma gráfica y donde podemos definir los límites a ese consumo para

evitar cargos inesperados con la operadora.

Incorpora herramientas para la edición de imágenes en tiempo real. Se mejora el

API para comunicaciones por NFC y la integración con redes sociales. En diciembre

del 2011 aparece una actualización de mantenimiento (versión

4.0.2) que no aumenta el nivel de API (Gironés, 2012).

Android 4.0.3 Nivel de API 15 (diciembre 2011)

Se introducen ligeras mejoras en algunas APIs incluyendo el de redes sociales,

calendario, revisor ortográfico, texto a voz y bases de datos entre otros. En marzo

de 2012 aparece la actualización 4.0.4 (Gironés, 2012).

Android 4.1 Nivel de API 16 (julio 2012)

En esta versión se hace hincapié en mejorar un punto débil de Android: la fluidez

(31)

16

sincronismo vertical, triple búfer y aumento de la velocidad del procesador al tocar

la pantalla. Se mejoran las notificaciones con un sistema de información expandible

personalizada. Los widgets de escritorio pueden ajustar su tamaño y hacerse sitio

de forma automática al situarlos en el escritorio. El dictado por voz puede realizarse

sin conexión a Internet (de momento, solo en inglés) (Jesús, 2017).

Se introducen varias mejoras en Google Search. Se potencia la búsqueda por voz

con resultados en forma de ficha. La función Google Now permite utilizar

información de posición, agenda y hora en las búsquedas. Se incorporan nuevos

soportes para usuarios internacionales, como texto bidireccional y teclados

instalables. Para mejorar la seguridad, las aplicaciones son cifradas (Jesús, 2017).

Android 4.2 Nivel de API 17 (noviembre 2012)

Una de las novedades más importantes es que podemos crear varias cuentas de

usuario en el mismo dispositivo. Aunque, esta característica solo está disponible en

tabletas. Cada cuenta tendrá sus propias aplicaciones y configuración. Los Widgets

de escritorio pueden aparecer en la pantalla de bloqueo. Se incorpora un nuevo

teclado predictivo deslizante al estilo Swype. Posibilidad de conectar dispositivo y

TVHD mediante wifi (Miracast). Mejoras menores en las notificaciones. Nueva

aplicación de cámara que incorpora la funcionalidad Photo Sphere para hacer fotos

panorámicas inmersivas (en 360º) (Jesús, 2017).

Android 4.3 Nivel de API 18 (julio 2013)

Esta versión introduce mejoras en múltiples áreas. Entre ellas los perfiles

restringidos (disponible sólo en tabletas) que permiten controlar los derechos de los

usuarios para ejecutar aplicaciones específicas y para tener acceso a datos

específicos. Igualmente, los programadores pueden definir restricciones en las

apps, que los propietarios puedan activar si quieren. Se da soporte para Bluetooth

Low Energy (BLE) que permite a los dispositivos Android comunicarse con los

periféricos con bajo consumo de energía. Se agregan nuevas características para

(32)

17

para OpenGL ES 3.0. Se mejora la seguridad para gestionar y ocultar las claves

privadas y credenciales (Jesús, 2017).

Android 4.4 Nivel de API 19 (octubre 2013)

Aunque se esperaba la versión número 5.0 y con el nombre Key Lime Pie, Google

sorprendió con el cambio de nombre, que se debió a un acuerdo con Nestlé para

asociar ambas marcas. El principal objetivo de la versión 4.4 es hacer que Android

esté disponible en una gama aún más amplia de dispositivos, incluyendo aquellos

con tamaños de memoria RAM de solo 512 MB. Para ello, todos los componentes

principales de Android han sido recortados para reducir sus requerimientos de

memoria, y se ha creado una nueva API que permite adaptar el comportamiento de

la aplicación en dispositivos con poca memoria (Jesús, 2017).

Más visibles son algunas nuevas características de la interfaz de usuario. El modo

de inmersión en pantalla completa oculta todas las interfaces del sistema (barras

de navegación y de estado) de tal manera que una aplicación puede aprovechar el

tamaño de la pantalla completa. WebViews (componentes de la interfaz de usuario

para mostrar las páginas Web) se basa ahora en el software de Chrome de Google

y por lo tanto puede mostrar contenido basado en HTM5. Se mejora la conectividad

con soporte de NFC para emular tarjetas de pago tipo HCE, varios protocolos sobre

Bluetooth y soporte para mandos infrarrojos. Tambien se mejoran los sensores para

disminuir su consumo y se incorpora un sensor contador de pasos. Se facilita el

acceso de las aplicaciones a la nube con un nuevo marco de almacenamiento. Se

incorpora un administrador de impresión para enviar documentos a través de WiFi

a una impresora. También se añade un content provider para gestionar los SMS.

Desde una perspectiva técnica, hay que destacar la introducción la nueva máquina

virtual ART, que consigue tiempos de ejecución muy superiores a la máquina

Dalvik. Sin embargo, todavía está en una etapa experimental. Por defecto se utiliza

la máquina virtual de Dalvik, permitiendo a los programadores activar

opcionalmente ART para verificar que sus aplicaciones funcionan correctamente

(Jesús, 2017).

(33)

18

La novedad más importante de Lollipop es la extensión de Android a nuevas

plataformas, incluyendo Android Wear, Android TV y Android Auto. Hay un cambio

significativo en la arquitectura, al utilizar la máquina virtual ART en lugar de Dalvik.

Esta novedad ya había sido incorporada en la versión anterior a modo de prueba.

ART mejora de forma considerable el tiempo de ejecución del código escrito en

Java. Además se soporta dispositivos de 64 bits en procesadores ARM, x86, y

MIPS. Desde el punto de vista del consumo de batería, hay que resaltar que en

Lollipop el modo de ahorro de batería se activa por defecto. Este modo desconecta

algunos componentes en caso de que la batería esté baja. Se incorpora una nueva

API (android.app.job.JobScheduler) que nos permite que ciertos trabajos se

realicen solo cuando se cumplan determinadas condiciones (por ejemplo con el

dispositivo cargando) (Jesús, 2017).

Android 5.1 Nivel de API 22 (marzo 2015)

Se añaden algunas mejoras a nivel de usuario en los ajustes rápidos. A nivel de

API se añade soporte para varias tarjetas SIM en un mismo teléfono; la clase

AndroidHttpClient se marca como obsoleta; y se añade un API para que las

empresas proveedoras de servicios de telecomunicación puedan distribuir software

de forma segura a través de Google Play. La característica más interesante es que

para poder acceder a esta API la aplicación ha de estar firmada con un certificado

que coincida con el que el usuario tiene en su tarjeta UICC (Jesús, 2017).

Android 6.0 Nivel de API 23 (octubre 2015)

Una de las novedades más interesantes es el administrador de permisos. Los

usuarios podrán conceder o retirar ciertos permisos a cada aplicación. Con esto el

sistema da mucha más protección a la privacidad de los usuarios. Ahora, el sistema

realiza una copia de seguridad automática de todos los datos de las aplicaciones.

Esto resulta muy útil al cambiar de dispositivo o tras restaurar valores de fábrica.

Para disponer de esta funcionalidad simplemente usa el targer Android 6.0. No es

(34)

19

Android 6.0 integra el asistente por voz Now on Tap. Es una evolución de Google

Now más integrada con las aplicaciones. Se activa con pulsación larga de home.

Aparecerán tarjetas sobre la aplicación actual y lo que muestra. La aplicación actual

podrá aportar información al asistente. En esta misma línea, se añade un API que

permite interacciones basadas en voz. Es decir, si nuestra aplicación ha sido

lanzada por voz, podremos solicitar una confirmación de voz del usuario,

seleccionar de una lista de opciones o cualquier información que necesite (Jesús,

2017).

Android 7.0 Nivel de API 24 (julio 2016)

Ahora los usuarios pueden abrir varias aplicaciones al mismo tiempo en la pantalla.

Puedes configurar tu aplicación para que se visualice con unas dimensiones

mínimas o inhabilitar la visualización de ventanas múltiples. Las notificaciones han

sido rediseñadas para un uso más ágil. Hay más opciones para personalizar el

estilo de los mensajes (MessageStyle). Puedes agrupar notificaciones por temas o

programar una respuesta directa (Jesús, 2017).

En la versión anterior se utilizaba una estrategia de compilación Ahead of Time

(AOT): cuando se descargaba una aplicación, su código era traducido de bytecodes

a código nativo, lo que mejoraba los tiempos de ejecución. En la nueva versión se

incorpora también la compilación Just in Time (JIT), donde no se compila hasta que

el código va a ser ejecutado. Android 7.0 propone un planteamiento mixto según el

perfil del código. Los métodos directos se compilan previamente (AOT), mientras

que otras partes no se compilan hasta que se usan (JIT). Aunque AOT puede

introducir retardos en ejecución, ahorra tiempo en la pre compilación y en memoria.

Mientras que en Android 6.0 una instalación podría usar varios minutos, ahora se

instala en cuestión de segundos. Android Nougat incorpora la plataforma de

realidad virtual Daydream. En la versión anterior, el gestor de batería Doze solo se

activaba cuando el dispositivo estaba en reposo. Ahora, se activa poco tiempo

después de apagarse la pantalla. Esto permite ahorrar batería cuando llevamos el

(35)

20

También se ha añadido la nueva API para gráficos 3D, Vulcan, como alternativa a

OpenGL. Minimiza la sobrecarga de CPU en el controlador, lo que permite

aumentar la velocidad de los juegos. El usuario va a poder activar el modo de ahorro

de datos cuando se encuentre en itinerancia o cuando esté a punto de agotar un

paquete de datos (Jesús, 2017).

Android 7.1 Nivel de API 25 (diciembre 2016)

La principal novedad son los accesos directos a aplicaciones. Desde el icono de la

aplicación, con una pulsación prolongada, aparecen varias opciones que podremos

seleccionar. Por ejemplo, podremos iniciar una navegación privada con Chrome de

forma directa. Los accesos directos que quieras incorporar a tu aplicación, podrás

configurarlo por medio de intens, que han de especificarse en un fichero de

configuración. Se incorporan otras novedades como la posibilidad de insertar

imágenes desde el teclado, de la misma forma que ahora insertamos emoticonos

(Jesús, 2017).

1.2. Herramientas de Desarrollo

Unity motor que permite el desarrollo de videojuegos para web, Windows, Mac OS

X, iOS (iPod, iPhone, and iPad), Android, Nintendo Wii, XBox 360 y PS3 (Ouazzani,

2012).

Para su instalación y configuración es recomendable seguir los pasos dados por el

sitio de desarrolladores Unity, ya que las versiones van cambiando y por lo tanto se

puede modificar la forma de instalación, más en forma general se puede determinar

los siguientes pasos para su instalación:

 Descargar la JDK desde el site de Oracle e instalarlo

 Descargar la SDK de Android e instalarlo, lo cual nos facilita la conversión de la aplicación móvil.

(36)

21

Un motor de juego es una herramienta que proporciona facilidades al usuario a la

hora de crear sus propios juegos.

Facilita la integración de gráficos, así como su uso y modificación que hace sencillo

el hecho de introducir sonidos en el juego, y por supuesto, simplifica en cierta

manera de programación en Unity.

Unity es una de la herramienta capaz de integrar arte, sonido, diseño, programación

bajo una misma interfaz, y hacer que podamos crear el diseño de juegos sencillos

en cuestión de días, e incluso horas.

Unity proporciona entre otras cosas un motor gráfico, un editor de escenas, motor

de físicas, motor de sonido, gestión de input entrada, scripting, entre otros. Además

puede ser ampliado con plugins y librerías.

Otra gran ventaja de Unity3D es que es una herramienta multiplataforma de modo

que puedes desarrollar en PC, Mac, Linux, Web, iOS, Android, Windows Phone e

incluso para consola (Wii y WiiU, Xbox360, XboxOne, PS3 y PS4, entre otras) (Días,

2015).

1.2.2. Lenguajes de programación

En la programación de los scripts podemos hacer uso de tres lenguajes:

JavaScript, C# o C Sharp y Boo.

JavaScript

Es un lenguaje de programación interpretado (analizado y ejecutado en tiempo de

ejecución), orientado a objetos y basado en prototipos (un estilo de programación

orientada a objetos en que la creación de objetos no se realiza mediante instancias

a una clase). Su sintaxis es similar al C aunque adapta términos y convenciones de

Java. Es utilizado principalmente en los navegadores web desarrollando interfaces

(37)

22 C# o C Sharp

Es un lenguaje de programación orientado a objetos desarrollado por Microsoft

desde el año 2000. Su sintaxis básica deriva del C/C++ y utiliza un modelo de

objetos similar al de Java. Algunos de sus objetivos principales son:

 Lenguaje simple, moderno y de carácter general.

 Fácil migración del programador familiarizado con C, C++ y Java.  Adecuación para construir aplicaciones de cualquier tamaño.

Boo

Es un lenguaje de programación orientado a objetos desarrollado desde el año

2004, con una sintaxis inspirada en Python y de código abierto. Además de Python

también ha estado influido por C# (Cosio, 2013).

1.2.3. Vistas de Unity 3D

1.2.3.1. Vista de escena

Vista Scene (escena) nos muestra el mundo virtual, y es el lugar en el que nosotros construimos el escenario donde el juego va a desarrollarse y existir. Aquí podemos

observar y editar los lugares donde van los objetos, las luces, y otros elementos.

También es posible ver otros recursos, como cámara, objetos con audio y ejes

coordenados. El panel Scene puede presentar diferentes vistas.

 El primero se conoce como Draw Mode. En su modo default está establecido en Textured, con lo cual las superficies se muestran con una textura e iluminación muy similares a como lucirán en el juego.

(38)

23

es más avanzado, ya que tiene efecto en el desempeño sobre las diferentes

plataformas donde se ejecutará el juego.

 El último modo es Ligthmap Resolution, que muestra la resolución de los lightmaps en uso (Cosio, 2013).

Navegar la escena

Estas herramientas nos permitirán navegar por la escena con gran facilidad Para

navegar por la escena, primero es necesario que esta se encuentre activa, de modo

que hacemos clic con el mouse en cualquier lugar de ella que esté vacío (Cosio,

2013).

1.2.3.2. Vista de juego ()game

La vista del juego permite pre-visualizar el juego en la vista tal como está o

maximizándola a pantalla completa. Además la vista de juego (Game) es muy útil

para observar el funcionamiento del juego (Días, 2015).

Adicionar un objeto

Adicionar objetos nos permite entenderlos mejor ya que los objetos que agregamos

a la escena se conocen como Game Objects y los hay dos tipos que son:

 El objeto vacío no presenta ninguna geometría, pero es muy útil para colocar código o lógica de soporte.

 También se pueden añadir sistemas de partículas, cámaras y elementos para la interfaz de usuario (Días, 2015).

(39)

24

La vista de jerarquía nos muestra un listado de todos los objetos que estamos

colocando en nuestra escena, muestra las relaciones jerárquicas que pueden existir

entre los objetos (Cosio, 2013).

1.2.3.4. Vista de proyecto

La vista de proyecto es una librería de assets para la creación del juego. En esta

vista se guardan todos los elementos que se crean y se importan para ser usados

en el juego. Estos elementos pueden ser objetos 3D, texturas, sonidos o scripts

(Cosio, 2013).

1.2.3.5. Vista de inspector

La vista del Inspectormuestra sus propiedades, divididas en secciones para facilitar

su uso, muestran los parámetros de los objetos seleccionados en la vista de escena

o en la vista de jerarquía. De esta manera al seleccionar un objeto en la escena, se

pueden modificar sus parámetros en el inspector (posición, rotación, traslación,

entre otros). El inspector sirve también como panel de herramientas para algunos

elementos tales como los terrenos permitiendo su escultura, añadir texturas, y entre

otros.

En la vista de inspector se pueden ver los elementos que definen el comportamiento

de los objetos, estos elementos se llaman componentes. Además aquí mismo se

puede proceder a la activación o desactivación de los objetos y los componentes

asociados, y componentes pueden ser scripts, animaciones, colliders entre otros

(Cosio, 2013).

1.2.4. Script

Los scripts pueden tomar como parámetro a otros objetos del juego, permiten la

definición de la lógica del juego. A lo largo del tutorial se van a ver varios script

sencillos como para definir un movimiento, encender o apagar luces (Cosio, 2013).

(40)

25

Función Update( ) : función que define el bucle principal del juego por lo cual se ejecuta una vez por cada frame que se renderize.

Función Awake( ) : Las variables definidas dentro de esta función se inicializarán justo antes de que empiece el juego. Esta función se ejecutará

una sola vez durante el tiempo que dure la instancia del script.

Función Start( ) : Esta función es muy parecida a “Awake( )” pero tiene una diferencia vital; solamente se ejecutará si la instancia del script está

habilitada. Esto nos permitirá retardar la inicialización de algunas variables

de estado del juego. También debemos tener presente que la función “Start()” siempre se ejecutará después de que haya terminado la función “Awake()” (Ouazzani, 2012).

1.2.5. JDK

Es un kit de desarrollo Java proporcionado por Oracle. Como un SDK de Android,

es un conjunto de programas que engloba compilador, un intérprete y utilitarios, un

paquete de herramientas básicas para el desarrollo de aplicaciones Java (Chacon,

2015).

1.2.6. SDK de Android

El SDK de Android, viene de las siglas de Software Development Kit, lo que

podemos traducirlo como un Kit de Desarrollo de Software, es un conjunto que

incluye la inclusión, los códigos y los servicios para los programadores que

consigan desarrollar como sus aplicaciones para un determinado ambiente

específico, es muy útil para desarrolladores ya que este provee un conjunto de

herramientas que facilita el desarrollo de aplicaciones móviles en la plataforma

Android, de estas las más relevantes es el Android Emulator y el plugin que se

integra con Unit (Chacon, 2015).

Todas las aplicaciones Android se desarrollan en lenguaje Java con este pack.

(41)

26

Al crear una aplicación, es importante considerar como la utilizará el usuario y

diseñar la interfaz apropiadamente. Para establecer esta jerarquía de importancia

se distinguen los siguientes tipos de procesos (Gironés, 2012): 1.2.7.1

1.2.7.1. Proceso de primer plano

Proceso de primer plano (Foreground process): Hospeda una actividad en la

superficie de la pantalla, con la cual el usuario esta interactuando (su método on

Resume () ha sido llamado). Debería haber solo uno o unos pocos procesos de

este tipo. Solo serán eliminados como último recurso, si es que la memoria esta tan

baja que ni siquiera estos procesos puede continuar corriendo (Gironés, 2012).

1.2.7.2. Proceso visible

Proceso visible (Visible process): Hospeda una actividad que esta visible en la

pantalla, pero no en el primer plano (su metodo onPause () ha sido llamado).

Considerado importante, no sera eliminado a menos que sea necesario para

mantener los procesos de primer plano (Gironés, 2012).

1.2.7.3. Proceso de servicio

Proceso de servicio (Service process): Hospeda un servicio que ha sido inicializado

con el método startservice (). Aunque estos procesos no son directamente visibles

al usuario, generalmente están haciendo tareas que para el usuario son importantes

(tales como reproducir un archivo mp3 o mantener una conexión con un servidor

de contenidos). El sistema siempre tratara de mantener esos procesos corriendo, a

menos que los niveles de memoria comiencen a comprometer el funcionamiento de

los procesos de primer plano o visibles (Gironés, 2012).

1.2.7.4. Proceso de fondo

Proceso de fondo (Background process): Hospeda una actividad que no es

actualmente visible al usuario (su método onstop () ha sido llamado). Si estos

(42)

27

usuario. Generalmente, hay muchos de estos procesos, así el sistema asegura que

el último proceso visto por el usuario sea el último en ser eliminado (Gironés, 2012).

1.2.7.5. Proceso vacío

Proceso vacío (Empty process): No hospeda a ningún componente de aplicación

activo. La única razón para mantener ese proceso es tener un "cache" que permita

mejorar el tiempo de activación en la próxima vez que un componente de su

aplicación sea ejecutado (Gironés, 2012).

1.2.8. Componentes de una aplicación

Existen una serie de elementos clave que resultan imprescindibles para desarrollar

aplicaciones en Android. En este apartado vamos a realizar una descripción inicial

de algunos de los más importantes. A lo largo del libro se describirán con más

detalle las clases Java que implementan cada uno de estos componentes

(Clodoaldo Robledo Sacristán, 2012 ).

1.2.8.1. Vista (view)

Las vistas son los elementos que componen la interfaz de usuario de una

aplicación. Todas las vistas van a ser objetos descendientes de la clase View. Sin

embargo, lo habitual va a ser definir las vistas utilizando un fichero XML y dejar que

el sistema cree los objetos por nosotros a partir de este fichero. Esta forma de

trabajar es muy similar a la definición de una página web utilizando código HTML

(Clodoaldo Robledo Sacristán, 2012 ).

1.2.8.2. Layout

Un Layout es un conjunto de vistas agrupadas de una determinada forma. Vamos

a disponer de diferentes tipos de Layouts para organizar las vistas de forma lineal,

en cuadricula o indicando la posición absoluta de cada vista. Los Layouts también

(43)

28

pueden ser definidos en código, aunque la forma habitual de definirlos es utilizando

código XML (Clodoaldo Robledo Sacristán, 2012 ).

1.2.8.3. Actividad (Activity)

Una aplicación en Android va a estar formada por un conjunto de elementos básicos

de visualización, conocidos como pantallas de la aplicación. En Android cada uno

de estos elementos, o pantallas, se conoce como actividad. Su función principal es

la creación del interfaz de usuario. Toda actividad ha de pertenecer a una clase

descendiente de Activity (Clodoaldo Robledo Sacristán, 2012 ).

1.2.8.4. Servicio (Service)

Un servicio es un proceso que se ejecuta “detrás”, sin la necesidad de una

interacción con el usuario. En Android disponemos de dos tipos de servicios:

servicios locales, que pueden ser utilizados por aplicaciones del mismo terminal y

servicios remotos, que pueden ser utilizados desde otros terminales (Clodoaldo

Robledo Sacristán, 2012 ).

1.2.8.5. Intención (Intent)

Una intención representa la voluntad de realizar alguna acción; como realizar una

llamada de teléfono, visualizar una página web. Se utiliza cada vez que queramos:

 Lanzar una actividad.  Lanzar un servicio.

 Lanzar un anuncio de tipo broadcast.  Comunicarnos con un servicio

Los componentes lanzados pueden ser internos o externos a nuestra aplicación.

También utilizaremos las intenciones para el intercambio de información entre estos

componentes (Clodoaldo Robledo Sacristán, 2012 ).

(44)

29

Un receptor de anuncios recibe y reacciona ante anuncios de tipo broadcast.

Existen muchos originados por el sistema, como por ejemplo Batería baja, Llamada

entrante (Clodoaldo Robledo Sacristán, 2012 ).

1.2.8.7. Proveedores de contenido (Contení Provider)

La compartición de información entre teléfonos móviles resulta un tema vital.

Android define un mecanismo estándar para que las aplicaciones puedan compartir

datos sin necesidad de comprometer la seguridad del sistema de ficheros. Con este

mecanismo podremos acceder a datos de otras aplicaciones, como la lista de

contactos, o proporcionar datos a otras aplicaciones (Clodoaldo Robledo Sacristán,

2012 ).

1.2.9. Servicio web

La W3C define "Servicio web" como un sistema de software diseñado para permitir

la interoperabilidad máquina a máquina en una red. Se trata de API que son

publicadas, localizadas e invocadas a través de la web. Además, al apoyarse sobre

el protocolo HTTP, puede utilizar los sistemas de seguridad (https) (Clodoaldo

Robledo Sacristán, 2012 ).

1.2.9.1. Alternativa en los servicios web

Llamadas a Procedimiento Remotos (RPC): se enfoca el servicio web como una colección de operaciones o procedimientos que pueden ser

invocados desde una maquina diferente a donde se ejecutan (Gironés,

2012).

Arquitectura Orientada a Servicios (SOA): es toda una infraestructura basada en XML. Donde cada objeto puede tener métodos definidos por el

programador con los parámetros que sean necesarios. Este tipo de servicio

es fácil de consumir, sigue un contrato y existen muchas herramientas de

Figure

Tabla N° 1: Población  Fuente: La Investigación
Tabla N° 2: Pregunta número uno  Fuente: La Investigación
Tabla N° 3: Pregunta número uno  Fuente: La Investigación
Tabla N° 4: Pregunta número uno  Fuente: La Investigación
+7

Referencias

Documento similar

Por la razón anterior, se pretende implementar una alternativa para mejorar la interpretación turística del atractivo con el uso óptimo de la tecnología de

A la hora de realizar el desarrollo de las aplicaciones se seleccionó un kit de desarrollo de realidad aumentada de acuerdo a los criterios expuestos en el Estado del Arte, este kit

Este artículo describe la línea de investigación, desarrollo e innovación vinculada al desarrollo de aplicaciones usando Realidad Aumentada (RA) y Realidad Virtual (RV)

Este artículo describe la línea de investigación, desarrollo e innovación &#34;Juegos Serios y Aplicaciones Interactivas usando Realidad Aumentada y Realidad Virtual&#34; que

Estos agentes son los encargados, por un lado, de ofrecer las herramientas adecuadas para, por ejemplo, activar la realidad aumentada (en este sentido estarían las aplicaciones

● Framework RAIOM en desarrollo, basado en realidad aumentada utilizando dispositivos móviles, visión por computador y sensores externos para el reconocimiento,

En este proyecto se desarrollará una aplicación de realidad aumentada para agregar información turística relevante del municipio de Villa de Leyva, referente a sitios de

Actividades Selección del software de Realidad Aumentada y creación de modelos 3D Al verificar las diferentes aplicaciones que permiten desarrollar Realidad Aumentada para