graduado en ingeniería de sistemas audiovisuales de...

137
Graduado en Ingeniería de Sistemas Audiovisuales de Telecomunicación TRABAJO FIN DE GRADO Desarrollo de una aplicación para dispositivos móviles con sistema operativo Android: “Politécnica Cuenca” José Javier Cañas Benito Cuenca, 2016 Escuela Politécnica de Cuenca

Upload: others

Post on 12-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

Graduado en Ingeniería de Sistemas

Audiovisuales de Telecomunicación

TRABAJO FIN DE GRADO

Desarrollo de una aplicación para dispositivos

móviles con sistema operativo Android:

“Politécnica Cuenca”

José Javier Cañas Benito

Cuenca, 2016

Escuela Politécnica de Cuenca

Page 2: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 3: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

<<Nuestra recompensa se encuentra en el esfuerzo

y no en el resultado, un esfuerzo total es una

victoria completa>>

Mahatma Gandhi (1869-1948)

Page 4: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 5: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

AGRADECIMIENTOS

Me gustaría expresar mi agradecimiento a todas las personas que han sido de gran

ayuda para el desarrollo de este trabajo fin de grado.

En primer lugar, quiero agradecer a mis tutores José Manuel y Arturo, por sus

consejos y correcciones, por el tiempo dedicado y por el buen trato recibido. Gracias

también a Roberto, Jorge y María por su colaboración en la realización de la encuesta

a los alumnos de la EPC y a César y Pepe que, de una forma u otra, también han

aportado su granito de arena.

Gracias a toda mi familia, sobre todo a mis padres, por su apoyo incondicional todos

estos años, a mis amigos que me han animado cuando más lo necesitaba y a mis

compañeros de GISAT por hacer las clases más amenas.

Por último, quiero dar las gracias en especial a mi madre Paula y a mi tía Pilar por

sus recomendaciones y por las horas dedicadas a revisar conmigo la documentación,

aun sin saber muy bien lo que estaban leyendo. También doy las gracias a mis amigos

Alejandro, Patricia y María por sus valiosos consejos y a Gerardo por permitirme

realizar pruebas de testeo en su tablet.

Page 6: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 7: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

RESUMEN

Los teléfonos móviles que existían hace unos años no tienen nada que ver con los actuales. Los llamados smartphones (teléfonos inteligentes) son pequeños ordenadores de bolsillo que ofrecen multitud de servicios como gestores de correo o navegadores, lo que hace que la gente pase gran tiempo usándolos. Es por ello que el desarrollo de aplicaciones se ha disparado en los últimos años. Android es el sistema operativo para teléfonos inteligentes más utilizado del mundo y cuenta con un gran número de desarrolladores que pueden distribuir a través de Google Play todo tipo de aplicaciones (juegos, redes sociales, de mensajería, de noticias, educativas...). Politécnica Cuenca es una aplicación Android que tiene como principal objetivo facilitar el acceso a información de interés sobre la Escuela Politécnica de Cuenca y las titulaciones que en ella se imparten. La aplicación ya se encuentra disponible para su descarga en Google Play y está destinada principalmente a los alumnos de la Escuela, permitiéndoles entre otras cosas: acceder al Campus Virtual para consultar las calificaciones, ver las noticias que se publican en el blog de la Escuela, saber cuál es el correo de un profesor, consultar el horario y las fechas de los exámenes, programar tareas, etc.

Page 8: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 9: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

ABSTRACT

Mobile phones have changed a lot in the last years. Smartphones are small handheld

computers that offer many services such as email clients or browsers, which makes

people to spend long time using them. That is why applications development has

increased in recent years. Android is the most widely-used mobile operating system

and it has a large number of developers who can use Google Play Store to publish and

distribute different applications like games, social networks, messaging apps,

information apps, educational apps, etc.

Politécnica Cuenca is an Android application that has as main objective to facilitate

access to relevant information about the degrees of the Cuenca Polytechnic School.

The application is currently available on Google Play Store and it is mainly aimed to

students, allowing them, among other things: accessing to the Virtual Campus to

check marks, reading the news published on the School blog, looking for the email of

a teacher, checking the timetable and exam dates, programming tasks, etc.

Page 10: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 11: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

ÍNDICE GENERAL

AGRADECIMIENTOS ................................................................................ 7

RESUMEN ............................................................................................ 9

ABSTRACT .......................................................................................... 11

ÍNDICE GENERAL .................................................................................. 13

ÍNDICE DE FIGURAS ............................................................................... 15

ÍNDICE DE TABLAS ................................................................................ 17

I. MEMORIA ........................................................................................ 19

1 INTRODUCCIÓN ................................................................................. 21

1.1 Motivación .................................................................................. 23

1.2 Objetivos ................................................................................... 23

1.3 Estructura del documento ............................................................... 24

2 ESTADO DEL ARTE .............................................................................. 27

2.1 Evolución de la telefonía móvil ......................................................... 29

2.2 El teléfono inteligente ................................................................... 31

2.3 Sistemas operativos de dispositivos móviles ......................................... 32

2.3.1 Android ................................................................................ 34

2.3.2 iOS ...................................................................................... 35

2.4. La plataforma de trabajo: Android ................................................... 36

2.4.1 Historia ................................................................................ 37

2.4.2 Arquitectura .......................................................................... 39

2.4.3 Estructura de una aplicación ...................................................... 41

3 DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN ..................................... 49

3.1 Principales claves para que una app tenga éxito .................................... 51

3.2 Análisis de aplicaciones del ámbito universitario existentes en el mercado.... 52

3.3 Encuesta de opinión del alumnado de la EPC ........................................ 62

4 POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO .................................. 69

4.1 ¿Qué es Politécnica Cuenca? ............................................................ 71

4.2 Diseño de la interfaz de usuario ........................................................ 72

4.2.1 RelativeLayout y LinearLayout .................................................... 73

4.2.2 ScrollView ............................................................................. 76

Page 12: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

4.2.3 WebView .............................................................................. 77

4.2.4 ListView y ExpandableListView .................................................... 79

4.2.5 Action Bar ............................................................................. 82

4.2.6 Menú ................................................................................... 83

4.3 Base de datos local - SQLite ............................................................ 85

4.4 Comunicación entre componentes de la GUI ......................................... 88

4.5 Tamaño de la aplicación ................................................................. 90

4.6 Compatibilidad ............................................................................ 91

5 PUBLICACIÓN DE LA APP Y RESULTADOS ................................................... 93

5.1 Publicación de la app .................................................................... 95

5.2 Encuesta de satisfacción ................................................................. 99

6 CONCLUSIONES Y LÍNEAS FUTURAS ......................................................... 107

6.1 Conclusiones .............................................................................. 109

6.2 Líneas futuras ............................................................................ 110

II. PLANOS: DIAGRAMA DE FLUJO ............................................................. 113

III. PLIEGO DE CONDICIONES ................................................................... 119

IV. PRESUPUESTO ................................................................................ 127

V. REFERENCIAS .................................................................................. 133

Page 13: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

ÍNDICE DE FIGURAS

Figura 1. Martin Cooper, el padre del teléfono móvil . .................................... 29

Figura 2. Evolución de la telefonía móvil .................................................... 31

Figura 3. El primer smartphone de Apple, iPhone . ........................................ 32

Figura 4. Android vs iOS a nivel mundial .................................................... 33

Figura 5. Cuota de mercado de sistemas operativos móviles en España ............... 33

Figura 6. Logo de Android. ...................................................................... 34

Figura 7. Logo de iOS. ........................................................................... 35

Figura 8. Steve Jobs presentando el primer iPhone en 2007 ............................. 36

Figura 9. Línea de tiempo de las versiones de Android ................................... 37

Figura 10. Arquitectura de Android .......................................................... 39

Figura 11. Directorios de Politécnica Cuenca. ............................................... 42

Figura 12. Ejemplo de una actividad con dos fragmentos ................................ 44

Figura 13. Ciclo de vida de una actividad ................................................... 45

Figura 14. App de éxito Wallapop ............................................................ 51

Figura 15. Logo de Facultad de Comunicación y D. ........................................ 52

Figura 16. Pantalla principal de la app de la FCD de la Univ. de Granada. ............ 53

Figura 17. Logo de UAH ......................................................................... 53

Figura 18. Pantalla principal de la app de UAH. ............................................ 53

Figura 19. Logo de UPV ......................................................................... 54

Figura 20. Pantalla de bienvenida y menú de la app de la UPV .......................... 54

Figura 21. Logo de UEX ......................................................................... 54

Figura 22. Pantalla de bienvenida y pantalla principal de la app de la UEX. .......... 55

Figura 23. Logo de UVa App ................................................................... 55

Figura 24. Pantalla de bienvenida y pantalla principal de la app de la UVA. .......... 55

Figura 25. Logo de Universidad de Cantabria ............................................... 56

Figura 26. Pantalla principal de la app de la Universidad de Cantabria. ............... 56

Figura 27. Logo de Univ. de Murcia ........................................................... 56

Figura 28. Pantalla principal de la app de la Universidad de Murcia. ................... 57

Figura 29. Logo de UA .......................................................................... 57

Figura 30. Pantalla principal y sección de Noticias de la app de UA. ................... 57

Figura 31. Página web de la Universidad de Alicante. ..................................... 58

Figura 32. Logo de UJA Ciencias Experimentales .......................................... 58

Figura 33. Pantalla de perfil y menú de la app de la FCE de la UJA. .................... 58

Figura 35. Pantalla principal de UniOvi. ...................................................... 59

Figura 34. Logo de UniOvi ...................................................................... 59

Figura 36. Encuesta de opinión del alumnado de la EPC. ................................. 62

Figura 37. Logo de Politécnica Cuenca. ...................................................... 71

Figura 38. Parámetros de un RelativeLayout ............................................... 73

Figura 39. Orientación de un LinearLayout ................................................. 73

Figura 40. Gravedad y peso en un LinearLayout. ........................................... 74

Figura 41. Vista Editar Evento en tablet de 7" y smartphone de 5". ..................... 75

Figura 42. Actividad con un ScrollView. ...................................................... 76

Figura 43. Vistas Actualidad y Campus Virtual. ............................................. 77

Figura 44. ListView en fase de diseño. ....................................................... 79

Page 14: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

Figura 45. Actividad con un ListView. ........................................................ 81

Figura 46. Actividad con un ExpandableListView. .......................................... 82

Figura 47. Pantalla principal de Politécnica Cuenca. ...................................... 83

Figura 48. Menú de Politécnica Cuenca....................................................... 84

Figura 49. Logo de SQLite . ..................................................................... 85

Figura 50. Estructura de la tabla Eventos en la base de datos local..................... 86

Figura 51. Ejemplo de eventos guardados en la base de datos. .......................... 87

Figura 52. Comunicación Activity-Activity. .................................................. 89

Figura 53. Vista Horario. ........................................................................ 90

Figura 54. Distribución de los usuarios de las distintas versiones de Android. ......... 91

Figura 55. Logo de Google Play. ............................................................... 95

Figura 56. Borrador de la ficha de Politécnica Cuenca para Play Store. ................ 96

Figura 57. Subida del archivo apk a la consola de Google Play. .......................... 96

Figura 58. Clasificación del contenido de Politécnica Cuenca. ........................... 97

Figura 59. Precio y distribución de Politécnica Cuenca. ................................... 97

Figura 60. Ficha de Politécnica Cuenca en Play Store. .................................... 98

Figura 61. Resultados de la pregunta 1 de la encuesta de satisfacción. ................ 99

Figura 62. Resultados de la pregunta 2 de la encuesta de satisfacción. ............... 100

Figura 63. Resultados de la pregunta 3 de la encuesta de satisfacción. ............... 100

Figura 64. Resultados de la pregunta 4 de la encuesta de satisfacción. ............... 101

Figura 65. Resultados de la pregunta 5 de la encuesta de satisfacción. ............... 101

Figura 66. Resultados de la pregunta 6 de la encuesta de satisfacción. ............... 102

Figura 67. Resultados de la pregunta 7 de la encuesta de satisfacción. ............... 102

Figura 68. Resultados de la pregunta 8 de la encuesta de satisfacción. ............... 103

Figura 69. Resultados de la pregunta 9 de la encuesta de satisfacción. ............... 103

Figura 70. Leyenda del diagrama de flujo de Politécnica Cuenca. ..................... 115

Figura 71. Diagrama de flujo de Politécnica Cuenca. ..................................... 116

Figura 72. Portátil ASUS K52JU................................................................ 121

Figura 73. Smartphone BQ Aquaris 5. ........................................................ 122

Figura 74. Tablet i-joy Rebel. ................................................................. 122

Page 15: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

ÍNDICE DE TABLAS

Tabla 1. Comparación de contenidos entre aplicaciones de otras Universidades. .... 60

Tabla 2. Resultados de la encuesta de opinión del alumnado de la EPC. ............... 64

Page 16: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 17: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

I. MEMORIA

Page 18: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 19: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

21

1 INTRODUCCIÓN

Contenidos

1.1 Motivación

1.2 Objetivos

1.3 Estructura de la memoria

En este primer capítulo se comentarán los motivos por los que se ha elegido realizar

este proyecto así como los principales objetivos que se pretenden alcanzar con su

desarrollo. Además, se explicará la estructura general de la memoria y se realizará

un breve resumen del contenido de cada capítulo.

Page 20: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 21: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 1. INTRODUCCIÓN.

23

1.1 Motivación

En la actualidad predomina el uso de las Tecnologías de la Información y la Comunicación (TIC), en especial del ordenador, Internet y el teléfono móvil.

Las TIC's están cambiando nuestra manera de vivir y de comunicarnos. Cada vez es

mayor la necesidad de tener acceso a la información en cualquier momento y en

cualquier lugar. Tener un móvil ya no es símbolo de riqueza, se ha convertido en uno

de esos artículos que siempre llevamos encima, como las llaves o la cartera.

Según María Luengo [1], el teléfono inteligente (smartphone) es prácticamente un

ordenador y es el invento tecnológico que ha experimentado una aceptación más

rápida, superando incluso al espectacular crecimiento de Internet. Su éxito radica no

sólo en el número de usuarios, sino en el número de horas al día que se utiliza. En el

tercer trimestre de 2013 se llegó a la cifra de 88.2% de españoles (unas 34 millones

de personas) que habitualmente usan el teléfono móvil [2]. En 2014 el tiempo de

acceso a medios digitales desde dispositivos móviles ya era superior que desde el

ordenador (53% frente a 47%) [3]. La consecuencia lógica ha sido el auge de las

aplicaciones móviles, que ofrecen gran cantidad de prestaciones.

Mi interés por la programación de aplicaciones móviles para el sistema operativo

Android comenzó tras cursar la asignatura de "Software Multimedia" en el último año

de la carrera. Android es el sistema operativo para teléfonos inteligentes más

utilizado del mundo y cuenta con un gran número de desarrolladores que pueden

distribuir a través de la tienda online Google Play todo tipo de aplicaciones (de

noticias, juegos, redes sociales, de mensajería, educativas...). Por azar, encontré en

esta tienda bastantes aplicaciones de distintas Facultades y/o Universidades

españolas y me di cuenta de que no existía una aplicación móvil de la Escuela

Politécnica de Cuenca (EPC) y pensé que podría ser interesante que la hubiera. Así

fue como nació Politécnica Cuenca, nombre con el que se ha bautizado a la

aplicación.

1.2 Objetivos

El principal objetivo que se pretende alcanzar con la realización de este trabajo fin

de grado es desarrollar una aplicación móvil de la Escuela Politécnica de Cuenca para

el sistema operativo Android que facilite al alumno el acceso a información de

interés sobre la Escuela y los estudios que esté realizando. Si bien esta información

está disponible en la web de la EPC, en una aplicación móvil es mucho más accesible

y manejable. Basta que el usuario toque el icono de la app para que ésta se inicie,

sin necesidad de abrir un navegador.

Page 22: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 1. INTRODUCCIÓN.

24

Como objetivos secundarios se persiguen:

Distribuir la aplicación de manera gratuita a través de Google Play para que,

por un lado, todos los alumnos de la EPC la puedan descargar y utilizar y, por

otro lado, dar una mayor difusión a la Escuela y sus titulaciones.

Ampliar los conocimientos del lenguaje de programación Java, principalmente

orientado al desarrollo de aplicaciones para el sistema operativo Android.

Iniciarse en el lenguaje SQL enfocado al manejo de bases de datos construidas

en SQLite.

1.3 Estructura del documento

A continuación se describen brevemente cada uno de los capítulos restantes que

componen la memoria:

En el Capítulo 2 se realiza una revisión sobre la situación de Android en el

mercado de los dispositivos móviles y se definen una serie de conceptos

necesarios para comprender cómo se integran en la estructura global de la

aplicación.

En el Capítulo 3 se realiza un trabajo de campo con el objetivo de definir los

contenidos de la aplicación.

En el Capítulo 4 se trata el proceso de desarrollo de la aplicación. Comienza

con una introducción en la que se explica qué es Politécnica Cuenca y

prosigue con una descripción de los diferentes tipos de vistas que se han

utilizado. Después se explica cómo se ha creado la base de datos local y la

estructura que tiene. En los dos siguientes puntos se explica cómo se

comunican los componentes de la interfaz gráfica de usuario y lo que se ha

hecho para reducir el tamaño de la aplicación. Para finalizar, se comenta la

compatibilidad de la aplicación con las distintas versiones de Android.

En el Capítulo 5 se explica cuáles son los pasos necesarios para publicar una

aplicación en Google Play y se analizan los resultados de una encuesta de

satisfacción realizada a un grupo de usuarios de la aplicación.

En el Capítulo 6, se realiza una valoración del proyecto y de los objetivos

conseguidos. Además, se plantean una serie de aspectos a mejorar en la

aplicación.

El documento se completa con otras secciones como Planos, Pliego de condiciones y

el Presupuesto estimado para el desarrollo de la aplicación. Estos apartados son de

vital importancia para la comprensión global del proyecto, además de aportar

información adicional de los recursos utilizados.

En la última sección del documento se presenta la bibliografía utilizada.

Page 23: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 24: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 25: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

27

2 ESTADO DEL ARTE

Contenidos

2.1 Evolución de la telefonía móvil

2.2 El teléfono inteligente

2.3 Sistemas operativos de dispositivos móviles

2.4 La plataforma de trabajo: Android

Según N.P. Molina [4] "Estado del Arte" es una modalidad de la investigación

documental que permite el estudio del conocimiento acumulado dentro de un área

específica.

En este capítulo se trata lo referente a la base teórica sobre la que se sustenta el

trabajo, ofreciendo una visión general del área en el que se enmarca el mismo. Se

lleva a cabo un breve resumen sobre la evolución de la telefonía móvil, se explica

qué es lo que necesita tener un dispositivo móvil para ser inteligente y se realiza una

comparativa de las distintas plataformas móviles y un estudio del sistema operativo

Android.

Page 26: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 27: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

29

2.1 Evolución de la telefonía móvil

Los teléfonos móviles se han convertido en un elemento imprescindible en la vida cotidiana. Sin embargo, los terminales que existieron hace algunos años no se parecen en nada a los actuales. Han pasado de ser un dispositivo orientado exclusivamente a la comunicación de voz y de texto, a ser pequeños ordenadores de bolsillo.

Según Juan Ranchal [5], la popularización de los teléfonos móviles no hubiera sido posible sin la estandarización y la mejora de los protocolos para redes de comunicaciones y su soporte por las operadoras. Después de que se realizaran las primeras comunicaciones vía ondas de radio con banda de frecuencias por debajo de los 600 kHz, las posteriores en AM y FM, los trabajos de Bell y Ericsson en los años 50 y 60, se produjo esa primera llamada de 1973 que popularizó todo el sector (ver figura 1).

Figura 1. Martin Cooper, el padre del teléfono móvil [5].

Aunque la primera llamada se realizó ese 3 de abril de 1973, no fue hasta 1979 cuando Japón se convirtió en el primer país en contar con servicio de telefonía móvil. A Europa llegó en 1981 y Estados Unidos habilitó el servicio comercial en 1983.

La telefonía móvil ha pasado hasta el momento por cuatro generaciones (ver figura 2). Son las siguientes:

La primera generación 1G [6] [7] se caracterizó por ser analógica y estrictamente para voz. Los dispositivos móviles por aquella época - años 80 - eran relativamente grandes, la calidad de los enlaces de voz era muy baja, la transferencia entre celdas era muy imprecisa y la seguridad no existía.

El sistema predominante de esta generación era AMPS (Advanced Mobile Phone System), el cual fue el primer estándar de redes celulares empleado en Rusia, Asia y el continente americano.

Page 28: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

30

Con la aparición de una segunda generación 2G totalmente digital en la década de los 90, la primera generación de telefonía móvil se volvió obsoleta. Esta nueva generación llegó con estándares como GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access) y alguno más. GSM era el estándar más usado en Europa y Estados Unidos a finales del siglo XX. Este sistema utiliza las bandas de frecuencia de 900 MHz y de 1800 MHz en Europa, mientras que en Estados Unidos emplea la banda de 1900 MHz. Es por ello que los teléfonos móviles que pueden funcionar tanto en Europa como en Estados Unidos se denominan teléfonos de tribanda.

Gracias al 2G es posible transmitir voz y datos digitales de volúmenes bajos, como por ejemplo SMS (mensajes de texto) o MMS (mensajes multimedia). Con GSM se puede transmitir a una velocidad máxima de 9,6 kbps.

Antes de la llegada de la tercera generación surgieron otras tecnologías que mejoraban el rendimiento del 2G. Se trata de GPRS (General Packet Radio System), conocida como 2.5 G y que permite unas velocidades cercanas a 40 kbps, y EDGE (Enhanced Data Ratesfor Global Evolution), con una tasa de datos teórica de 384 kbps y anunciada como 2.75 G.

Las especificaciones IMT-2000 (International Mobile Telecommunications) de la ITU (International Communication Union) definieron las características de la tercera generación 3G:

Alta velocidad de transmisión de datos:

o 144 kbps con cobertura total para uso móvil. o 384 kbps con cobertura media para uso de peatones. o 2 Mbps con áreas de cobertura reducida para uso fijo.

Compatibilidad mundial.

Compatibilidad de los servicios móviles de 3G con las redes de segunda generación.

La tercera generación ofrece la posibilidad de usos multimedia, como por ejemplo transmisión de vídeos o audios, videoconferencias o acceso a internet de alta velocidad. Las redes 3G utilizan las siguientes bandas de frecuencia: 1885 a 2025 MHz y 2110 a 2200 MHz.

El estándar más importante que se usa en Europa se llama UMTS (Universal Mobile Telecommunications System) y emplea codificación W-CDMA (Wideband Code Division Multiple Access). La tecnología UMTS usa bandas de 5 MHz para transmitir voz y datos con velocidades que van desde los 384 kbps a los 2 Mbps.

HSDPA (High Speed Downlink Packet Access) es un protocolo de telefonía móvil, apodado 3.5 G, que puede alcanzar velocidades de datos de 8 a 10 Mbps. Este sistema usa la banda de frecuencia de 5 GHz y, al igual que UMTS, codificación W-CDMA.

Page 29: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

31

La cuarta generación o 4G [5] llegó en 2011 y ofrece, entre otras mejoras, mayor seguridad y calidad de servicio (QoS), junto a velocidades de acceso muy superiores de 100 Mbps en movimiento y 1 Gbps en reposo.

Está basada completamente en el protocolo IP, siendo un sistema de sistemas y una red de redes, que se alcanza gracias a la convergencia entre las redes de cables e inalámbricas. La norma LTE (Long Term Evolution) es la más extendida aunque no la única existente.

Figura 2. Evolución de la telefonía móvil [Fuente: losinges.webnode.mx]

2.2 El teléfono inteligente

Un smartphone o teléfono inteligente (ver figura 3), tal y como define Borja Saz en

[8], es aquel dispositivo móvil que cumple unas determinadas características:

Funcionalidad avanzada: este tipo de teléfonos no sirven únicamente para llamar o recibir mensajes SMS. Un smartphone es capaz de realizar tareas más complejas tales como la gestión del correo personal o la reproducción de contenidos multimedia, entre otros.

Hardware especializado: estos dispositivos cuentan con hardware dedicado

para la realización de múltiples tareas avanzadas como puede ser un chip GPS (Global Positioning System), un giroscopio o un acelerómetro, entre otras.

Alta capacidad de cómputo: toda esta funcionalidad avanzada que poseen estos dispositivos es posible gracias a la alta capacidad de procesamiento de información.

Page 30: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

32

Figura 3. El primer smartphone de Apple, iPhone [5].

Según J. Cheng et al. [9] un smartphone es:

«Un nuevo tipo de dispositivo de comunicación que combina la funcionalidad de los teléfonos móviles tradicionales (por ejemplo, voz y mensajería) con aquellos que son de computación en movilidad como las PDAs (Personal Digital Assistant).» Por su parte, G.W. Chow y A. Jones [10] definen a este tipo de dispositivos de un modo más específico: «Los teléfonos móviles hoy en día han evolucionado hasta convertirse en una plataforma de comunicación y de cómputo ubicua donde los usuarios pueden hacer las llamadas como un teléfono tradicional, crear diapositivas de una presentación, editar documentos, escuchar música, ver vídeos, jugar juegos, y acceder a Internet, todo desde un único dispositivo móvil, simplemente conocido como teléfono inteligente.»

2.3 Sistemas operativos de dispositivos móviles

Un terminal inteligente con las características descritas anteriormente requiere un

sistema operativo específico que lo haga funcionar.

Un sistema operativo [11] es un componente software de la infraestructura base de

un sistema informatizado que controla todas las operaciones básicas del ordenador u

otros dispositivos electrónicos como PDA, smartphone, etc. El sistema operativo

permite al usuario instalar y ejecutar aplicaciones de terceros, añadiendo nuevas

funcionalidades al dispositivo.

En la actualidad hay una gran variedad de sistemas operativos para estos teléfonos

inteligentes, pero los que dominan el mercado a nivel mundial y nacional son iOS y

Android.

Page 31: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

33

Figura 4. Android vs iOS a nivel mundial [Fuente: xatakamovil.com]

El sistema operativo de Google tiene un 82,8% de cuota de mercado a nivel mundial, seguido de iOS con un 13,9% (ver figura 4). Otras plataformas como Windows Phone y BlackBerry obtienen un 2,6% y 0,3% respectivamente. En agosto de 2015 el número de usuarios de CyanogenOS ya superaba a la suma de estos dos últimos [12].

Otras plataformas emergentes como Tizen, Firefox OS y Ubuntu Touch, probablemente se asienten en el mercado y obtengan buenos resultados en un futuro no muy lejano, pero aún están a mucha distancia de los dos sistemas operativos móviles líderes en el mercado actualmente.

Figura 5. Cuota de mercado de sistemas operativos móviles en España [Fuente: xatakamovil.com]

Page 32: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

34

Según el estudio realizado por Kantar en el mes de agosto de 2015 (ver figura 5), la

cuota de ventas de iOS en España ha descendido en 1.3 puntos respecto a 2014

(verde oscuro), quedándose en un 6,2%. La cuota de Android crece ligeramente

hasta el 89,5% (+1,4p) mientras que Windows Phone sigue sin levantar el vuelo con

un 3.9% (-0,3p) [13].

2.3.1 Android

Figura 6. Logo de Android.

Android, cuyo logo se puede ver en la figura 6, es un sistema operativo orientado a dispositivos móviles basado en una versión modificada del sistema operativo GNU y el núcleo Linux [8]. Fue creado por la empresa Android Inc., fundada en 2003 y posteriormente comprada por Google en 2005. Tal y como describe Jesús Tomás en [14], entre las características más importantes de este sistema operativo se encuentran:

Plataforma realmente abierta. Es una plataforma de desarrollo libre basada en Linux y de código abierto.

Adaptable a cualquier tipo de hardware. Android no ha sido diseñado exclusivamente para su uso en teléfonos y tablets. Hoy en día se pueden encontrar relojes, cámaras, electrodomésticos, etc. que se basan en este sistema operativo. Esto tiene sus ventajas, pero también supone un esfuerzo adicional al programador, ya que la aplicación debe funcionar correctamente en dispositivos con gran variedad de tipos de entrada, pantalla, memoria, etc.

Portabilidad asegurada. Las aplicaciones finales son desarrolladas en Java, lo que nos asegura que podrán ser ejecutadas en cualquier tipo de CPU.

Arquitectura basada en componentes inspirados en Internet. El diseño de la interfaz de usuario se hace en XML, lo que permite que una misma aplicación se ejecute en un reloj de pantalla reducida o en un televisor.

Conectividad completa a Internet. Muchas aplicaciones sólo funcionan si se dispone de una conexión permanente a Internet.

Page 33: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

35

Gran cantidad de servicios incorporados como, por ejemplo, localización basada en GPS, bases de datos con SQL, reconocimiento y síntesis de voz, navegador, multimedia...

Aceptable nivel de seguridad. Los programas se encuentran aislados unos

de otros gracias al concepto de ejecución dentro de una caja que hereda de Linux. Además, cada aplicación dispone de una serie de permisos que limitan su rango de actuación (servicios de localización, acceso a Internet, etc.). Desde La versión 6.0 el usuario puede conceder o retirar permisos a las aplicaciones en cualquier momento.

Optimizado para baja potencia y poca memoria. En el diseño de Android se ha tenido en cuenta el hardware específico de los dispositivos móviles. Utiliza la Máquina Virtual ART (o Dalvik en versiones antiguas).

Alta calidad de gráficos y sonido. Gráficos vectoriales suavizados, animaciones inspiradas en Flash, gráficos en 3D basados en OpenGL. Incorpora codecs más comunes de audio y vídeo, incluyendo H.264 (AVC), MP3, AAC, etc.

En conclusión, Android ofrece una forma sencilla y novedosa de implementar potentes aplicaciones para diferentes tipos de dispositivos.

2.3.2 iOS

Figura 7. Logo de iOS.

iOS, cuyo logo se puede ver en la figura 7, es un sistema operativo móvil desarrollado por Apple Inc. Inicialmente fue creado para el iPhone (ver figura 8), pero actualmente lo utilizan los demás dispositivos móviles de esta compañía como el iPad, iPod touch... [15].

Este sistema operativo [16] está orientado específicamente para su uso mediante dispositivos móviles con pantalla táctil. iOS es una variante del Mac OS X, que es el sistema operativo para computadoras de la marca Apple y, al igual que él, está basado en Unix.

Una de las peculiaridades más valoradas por los usuarios de este sistema operativo móvil, es su funcionalidad y capacidad para trabajar con múltiples programas a la vez y en segundo plano, lo que es conocido como la multi-tarea.

Page 34: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

36

Además, incorpora la tecnología multi-touch, la cual es capaz de reconocer múltiples gestos y toques en la pantalla. Gracias a esta tecnología se puede, por ejemplo, ampliar o reducir una imagen simplemente pellizcando en la pantalla.

Figura 8. Steve Jobs presentando el primer iPhone en 2007 [Fuente: infobae.com]

Su simplicidad y optimización, tal y como se menciona en [17], son sus pilares para que millones de usuarios se decanten por iOS en lugar de escoger otras plataformas que necesitan más hardware para mover con fluidez el sistema.

2.4. La plataforma de trabajo: Android La lucha entre iOS y Android no tiene un vencedor claro y depende del usuario

decidir cuál se acerca más a sus preferencias.

Para este proyecto se ha decidido trabajar con la plataforma Android debido

principalmente a su filosofía de software libre, pues es una plataforma de código

abierto que no impone restricciones a la hora de crear aplicaciones. Además, como

se ha visto anteriormente, Android es el sistema operativo más utilizado hoy en día

y tiene soporte para una gran variedad de dispositivos.

Page 35: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

37

2.4.1 Historia

La historia de Android [18] se remonta al año 2003, cuando el sistema fue

desarrollado por la compañía Android Inc., una pequeña empresa ubicada en Palo

Alto, California, que en 2005 fue comprada por Google, y que junto con la Open

Handset Alliance, un conglomerado de diferentes compañías colaboradoras, continúo

con el desarrollo del sistema.

En la figura 9 se muestra la línea de tiempo de las diferentes versiones que se han

lanzado hasta la fecha de este sistema operativo:

Figura 9. Línea de tiempo de las versiones de Android [Fuente: cubettech.com]

La primera versión oficial y encargada de estrenar la plataforma en el mercado fue

Android 1.0. Llegó a finales de 2008 y ofrecía un conjunto de características y

funcionalidades que ahora se consideran básicas, pero que para la época eran

punteras. Presentaba una tienda de aplicaciones llamada Android Market, así como

compatibilidad y sincronización con los múltiples servicios de aplicaciones de Google

(Maps, Contactos, Calendar, mensajería instantánea e incluso Youtube).

En Abril de 2009 comenzó la tradición de ponerle nombres de dulces a las

actualizaciones del sistema operativo y se liberó Android 1.5 'Cupcake', con grandes

cambios. Con esta versión, Android se convirtió en una plataforma con cierto

reconocimiento y empezó a recibir el apoyo de muchos fabricantes. Se introdujeron

los widgets en las pantallas de Android, las transiciones animadas y se mejoraron

muchas de las apps integradas en el sistema, como los contactos o Youtube.

Unos meses después del éxito de Cupcake, llegó Android 1.6 'Donut', que mantuvo la

mayoría de los elementos de la interfaz pero añadió múltiples mejoras en cuanto a

compatibilidad de hardware (soporte para redes CDMA/EVDO, VPNs) o a

reconocimiento de voz. Con Donut en el mercado, el valor de Android continuó

creciendo, y la plataforma pasó a ser la principal nueva rival de iOS.

Sólo un mes después de la versión 1.6 Google lanzó Android 2.0 'Éclair'. La segunda

gran versión vino acompañada de muchas mejoras y novedades, entre las que se

incluyen mejor sistema de sincronización, soporte para ciertas tecnologías, cambios

en la interfaz de algunas aplicaciones o nuevas funcionalidades.

Page 36: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

38

En mayo de 2010 se liberó Android 2.2 'Froyo', una de las versiones más conocidas

de la historia de Android, con la principal virtud de ofrecer un importante lavado de

cara así como un amplio listado de novedades. Entre ellas encontramos las

notificaciones push, un nuevo motor para el navegador, soporte para pantallas de

alta resolución, instalación de apps en la memoria externa y mucho más. Froyo fue

una de las versiones con mayor éxito y aceptación por parte del público, y tuvo tres

actualizaciones menores que solucionaron algunos errores.

Android 2.3 'Gingerbread' también es una de las grandes y más importantes

versiones de Android, e igualmente sigue estando operativa. Esta versión mantuvo los

cambios en la interfaz que su predecesor había introducido aunque añadió algunas

modificaciones y mejoras que, principalmente, afectaban a la velocidad de respuesta

y a nuestra experiencia. Además, ofrecía compatibilidad con nuevas tecnologías

como NFC o nuevas pantallas más grandes y con mejor resolución. Durante unos 10

meses se introdujeron un total de siete actualizaciones de Gingerbread que en la

mayoría de los casos solucionarían bugs menores, pero que también permitieron

conocer nuevas funcionalidades como Google Wallet, una de las tecnologías

precursoras del actual pago en el móvil.

En mayo de 2011 lanzaron Android 3.0 'Honeycomb', una versión exclusiva de tablets, que se estrenó con el Motorola Xoom. No obstante, a pesar del relativo fracaso de la plataforma, quizá debido a su separación de las versiones para smartphones, Honeycomb se mantuvo durante un año con actualizaciones periódicas que introdujeron múltiples y notables cambios.

Unos meses más tarde del lanzamiento de Honeycomb, concretamente en Octubre de

2011, llegó una versión con cambios realmente significativos, Android 4.0 'Ice Cream

Sandwich'. La interfaz de la versión 4.0 se renovó casi al completo gracias a la

introducción de nuevos botones, iconos, barras de notificaciones o incluso a la

tipografía utilizada, Roboto. Tampoco se olvidaron de nuevas tecnologías como

WiFiDirect, aceleración de vídeo vía hardware o grabación de vídeo 1080p.

Ice Cream Sandwich estuvo vigente durante otros diez meses más y, al contrario que las versiones anteriores, no recibió tantas actualizaciones.

Android 4.1'JellyBean' apareció en julio de 2012 con una estética muy parecida a la

de ICS. Sin embargo, Google continuó mejorando y optimizando la plataforma, con

ciertos cambios que proporcionaron una mayor fluidez general del sistema y mayor

compatibilidad con el hardware. JellyBean fue la primera versión de Android para

smartphones y tablets, simultáneamente, y de hecho fue la tablet Nexus 7 la que se

encargó de estrenarla.

En Octubre de 2013 Google sorprendió al mundo entero llegando a un acuerdo con

una famosa marca de chocolatinas para lanzar Android 4.4 'KitKat', que es una de

las versiones que más cambios ha introducido tanto a nivel estético como a nivel

interno. En la actualidad es la versión más utilizada de Android en todo el mundo

gracias a sus cuatro actualizaciones que han logrado llevar estabilidad al sistema.

Page 37: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

39

La última versión liberada oficialmente, Android 5.0 'Lollipop' trajo consigo grandes cambios sobre todo en la interfaz, que se ha redefinido casi al completo para incluir el denominado Material Design. Pero ésta no es la única novedad, ya que además de la parte gráfica, Google implementó múltiples nuevas funcionalidades como una nueva máquina virtual (ART), un nuevo sistema de notificaciones, mejor gestión de la energía, nuevo teclado y la definitiva unificación entre los sistemas de smartphone, tablet y también smartwatch y TV.

Este importante paquete de mejoras continuó creciendo con la subversión Android 5.1, que introdujo en marzo de 2015 nuevas posibilidades: soporte oficial para dual-SIM, protección frente a pérdidas o robos, o incluso llamadas en alta definición.

Por último, está Android 6.0 'Marshmallow', la última versión de Android que se presentó en mayo de 2015. Su listado de novedades es muy amplio, pero la más importante quizá sea la introducción de la plataforma de pagos de Google, Android Pay, y es que ésta es una funcionalidad de la que se prevé un enorme crecimiento durante los próximos años. Junto al pago vía móvil llega el soporte nativo para los lectores de huellas, elemento fundamental para añadir una dosis de seguridad al proceso.

2.4.2 Arquitectura

El sistema operativo Android está estructurado en varias capas (ver figura 10). Cada

una de estas capas utiliza elementos de la capa inferior para realizar sus funciones,

por lo que a este tipo de arquitectura se le conoce también como "pila" [19].

Figura 10. Arquitectura de Android [Fuente: hermosaprogramacion.com]

Page 38: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

40

Las principales funciones de estos niveles, tal y como describen J. Tomás en [20] y L.

Cancela en [21], son las siguientes:

Kernel de Linux: el núcleo de Android está basado en el kernel de Linux

versión 2.6. Esta capa proporciona servicios como la seguridad, el manejo de

la memoria, el multiproceso, la pila de protocolos y el soporte de drivers para

dispositivos. Además, actúa como capa de abstracción entre el hardware y el

resto de la pila, por lo que es la única dependiente del hardware.

Android Runtime: al mismo nivel que las librerías de Android se sitúa el

entorno de ejecución. Éste lo constituyen las Core Libraries, que son librerías

con multitud de clases Java y la máquina virtual Dalvik, optimizada para que

cada aplicación se ejecute en su propio proceso y consumir así la mínima

memoria.

Librerías: incluye un conjunto de librerías en C/C++ usadas en varios

componentes de Android. Junto al núcleo basado en Linux, estas librerías

constituyen el corazón de Android.

Algunas de estas librerías son:

System C library: una derivación de la librería BSD de C estándar

(libc), adaptada para dispositivos embebidos basados en Linux.

Media Framework: librería basada en OpenCORE de PacketVideo.

Soporta codecs de reproducción y grabación de multitud de formatos

de audio y vídeo e imágenes MPEG4, H.264, MP3, AAC, AMR, JPG y

PNG.

Surface Manager: maneja el acceso al subsistema de representación

gráfica en 2D y 3D.

WebKit/Chromium: soporta un moderno navegador Web utilizado en

el navegador Android y en la vista Webview. En la versión 4.4, WebKit

ha sido reemplazada por Chromium/Blink, que es la base del

navegador Chrome de Google.

SGL: motor de gráficos 2D.

Librerías 3D: implementación basada en OpenGL ES 1.0 API. Las

librerías utilizan el acelerador hardware 3D si está disponible, o el

software altamente optimizado de proyección 3D.

FreeType: fuentes en bitmap y renderizado vectorial.

SQLite: potente y ligero motor de bases de datos relacionales

disponible para todas las aplicaciones.

SSL: proporciona servicios de encriptación Secure Socket Layer (capa de conexión segura).

Framework de aplicaciones: representa el conjunto de herramientas de

desarrollo de cualquier aplicación. Cualquier aplicación que se desarrolle para

Android utiliza el mismo conjunto de API (Application Programming Interface)

y el mismo framework, representado por este nivel.

Page 39: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

41

Entre las API más importantes se encuentran:

Activity Manager: gestiona el ciclo de vida de las aplicaciones.

Window Manager: gestiona las ventanas de las aplicaciones y utiliza la

librería Surface Manager.

Content Provider: permite a cualquier aplicación compartir sus datos

con las demás aplicaciones de Android. Por ejemplo, gracias a esta API

la información de contactos, agenda, mensajes, etc. será accesible

para otras aplicaciones.

View System: proporciona un gran número de elementos para poder

construir interfaces de usuario (GUI), como listas, botones, tamaño de

ventanas, control de las interfaces mediante teclado, etc.

Notification Manager: permite que las aplicaciones comuniquen al

usuario eventos que ocurran durante su ejecución: una llamada

entrante, un mensaje recibido, conexión Wi-Fi disponible, ubicación en

un punto determinado, etc.

Location Manager: posibilita a las aplicaciones la obtención de

información de localización y posicionamiento.

Aplicaciones: este nivel contiene tanto las aplicaciones incluidas por defecto

de Android como aquellas que el usuario vaya añadiendo posteriormente.

Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles

anteriores.

2.4.3 Estructura de una aplicación

Conocida ya la arquitectura del sistema operativo y sus distintas versiones, lo

siguiente es saber cómo está estructurada una aplicación. Para ello, en primer lugar

se presentarán las partes de las que consta un proyecto [22] [23] y, posteriormente,

los componentes que son necesarios emplear en el desarrollo de una aplicación

Android además del ciclo de vida de una Activity, tal y como describen J. Tomás en

[24] y J. Revelo en [25].

Directorios

Un proyecto creado en Android Studio está formado por un descriptor de la

aplicación, el código fuente en Java, los recursos y los archivos de construcción de

Gradle (ver figura 11).

Page 40: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

42

Figura 11. Directorios de Politécnica Cuenca.

manifests: aquí se encuentra el fichero AndroidManifest.xml, en el cual se

indican las actividades, las intenciones, los servicios y los proveedores de

contenido de la aplicación. Además, se declaran los permisos que requerirá la

aplicación y se indican la versión mínima de Android para poder ejecutarla, el

paquete Java, la versión de la aplicación, etc.

java: carpeta que contiene el código fuente de la aplicación. Los ficheros

Java se almacenan en carpetas según el nombre de su paquete.

res: carpeta que contiene los recursos usados por la aplicación.

drawable: en este directorio se encuentran las imágenes en formato

PNG o JPEG.

layout: contiene ficheros XML con vistas de la aplicación. Las vistas

permiten configurar las diferentes pantallas que compondrán la

interfaz de usuario de la aplicación. Se utiliza un formato similar al

HTML usado para diseñar páginas web.

menu: ficheros XML con los menús de cada actividad.

mipmap: contiene los iconos de la aplicación con sus diferentes

resoluciones.

values: archivos XML que definen valores constantes. En dimens.xml,

se especifican el margen horizontal y vertical por defecto. En el

fichero strings.xml, se definen todas las cadenas de caracteres de la

aplicación. Finalmente en styles.xml, se determinan los estilos y

temas de la aplicación.

Page 41: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

43

Gradle Scripts: en esta carpeta se almacenan una serie de ficheros Gradle

que permiten construir la aplicación. Se pueden definir aspectos importantes

como la verisón del sdk de compilación (target Sdk Version) y la versión

mínima (min Sdk Version).

Componentes

Existen varios elementos que resultan imprescindibles para desarrollar aplicaciones

en Android. Algunos de los más importantes son:

View: las vistas son los elementos que componen la interfaz de usuario de una

aplicación como, por ejemplo, un botón o una entrada de texto. Todas las

vistas son objetos descendientes de la clase View, y por tanto, pueden ser

definidas utilizando código Java. Sin embargo, lo habitual es definir las vistas

utilizando un fichero XML y dejar que el sistema cree los objetos por nosotros

a partir de este fichero.

Layout: un layout es un conjunto de vistas agrupadas de una manera

determinada. Hay distintos tipos de layouts para organizar las vistas de forma

lineal (LinearLayout), en cuadrícula o indicando la posición absoluta de cada

vista (RelativeLayout). Los layouts también son objetos descendientes de la

clase View y, como las vistas, los layouts también pueden ser definidos en

código, pero lo normal es definirlos utilizando código XML.

Activity: una actividad es la representación visual e interactiva en una

aplicación. Se puede definir como un conjunto de elementos básicos de

visualización, coloquialmente conocidos como pantallas de la aplicación. Está

conformada por dos archivos, un archivo XML (parte gráfica) y un archivo

.Java (parte lógica).

Fragment: sección de la interfaz de usuario embebida dentro de una actividad

anfitriona que permite versatilidad y optimización de diseño. Se trata de

pequeñas actividades contenidas dentro de una actividad anfitriona,

manejando su propio diseño y ciclo de vida.

Un fragment permite reusar código y ahorrar tiempo de diseño a la hora de

desarrollar una aplicación. Los fragmentos facilitan el despliegue de la

aplicación en cualquier tipo de tamaño de pantalla y orientación [26]. En la

figura 12 se puede ver más claramente lo explicado anteriormente.

Page 42: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

44

Figura 12. Ejemplo de una actividad con dos fragmentos [26].

Service: un servicio es una entidad que ejecuta instrucciones en segundo

plano sin la necesidad de la interacción del usuario. Son muy utilizados para

realizar acciones de larga duración como puede ser un servicio de

notificaciones, guardar información en la base de datos, escuchar música

mientras se ejecuta la aplicación, administrar conexiones de red, etc.

mientras las actividades muestran otro tipo de información.

Intent: mensaje que se envía de un componente a otro, o entre una

aplicación y otra para comunicarse. Se podría decir que equivalen a los links

entre páginas web.

Broadcast Receiver: trigger (disparador) implementado para activarse cuando

un intent se envía entre componentes. Recibe y reacciona ante anuncios de

tipo broadcast (batería baja, llamadas entrantes, correos...). Estos anuncios

pueden ser originados por el sistema o por las aplicaciones.

Content Provider: en muchas ocasiones se necesita compartir información

entre distintas aplicaciones. Con este componente podremos acceder a datos

de otras aplicaciones, como la lista de contactos, o proporcionar datos a otras

aplicaciones sin comprometer la seguridad del sistema de ficheros.

Page 43: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

45

Ciclo de vida de una actividad

A diferencia de otros lenguajes como Java o C/C++, una actividad en Android no tiene asignado un método main() como punto de entrada principal, ya que su inicio es responsabilidad de la capa de Framework para aplicaciones. En esta capa se encuentra el servicio Activity Manager, el cual se encarga de crear, destruir y manejar todas las actividades de la aplicación.

Una actividad puede interpretarse como una máquina de estados que está pendiente de las acciones del usuario. Aunque el programador no puede controlar la forma en que se iniciará, sí puede decidir qué sentencias se ejecutarán en cada estado.

Los estados por los cuales puede transcurrir una aplicación son los siguientes: Creación, Ejecución, Reanudación, Pausa, Parada y Destrucción. A la relación entre ellos se le llama Ciclo de vida de una actividad (ver figura 13).

Figura 13. Ciclo de vida de una actividad [Fuente: androidsis.com].

Page 44: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 2. ESTADO DEL ARTE.

46

Creación: una actividad se ha creado cuando su estructura se encuentra en memoria, pero ésta no es visible aún. Cuando el usuario presiona sobre el icono de la aplicación en su dispositivo, el método onCreate() es ejecutado para cargar el layout de la actividad principal en memoria.

Ejecución-Reanudación: después de haber sido cargada la actividad se llaman a los métodos onStart(), para hacer visible la actividad, y onResume(), para que la actividad empiece a interactuar con el usuario.

Pausa: una actividad está en pausa cuando se encuentra en la pantalla parcialmente visible. Un ejemplo sería cuando se abren diálogos que toman el foco superponiéndose a la actividad. El método llamado para la transición hacia la pausa es onPause().

Detención: una actividad está detenida cuando no es visible en la pantalla, pero aún se encuentra en memoria y en cualquier momento puede ser reanudada. Cuando una aplicación es enviada a segundo plano se ejecuta el método onStop(). Al reanudar la actividad, se pasa por el método onRestart() hasta llegar a el estado de ejecución y luego al de reanudación.

Destrucción: cuando la actividad ya no existe en memoria se encuentra en estado de destrucción. Antes de pasar a destruir la aplicación se ejecuta el método onDestroy(). Lo normal es que las actividades no implementen este método, a menos que deban destruir procesos en segundo plano.

Page 45: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 46: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 47: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

49

3 DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN

Contenidos

3.1 Principales claves para que una app tenga éxito

3.2 Análisis de aplicaciones del ámbito universitario existentes en el mercado

3.2 Encuesta de opinión del alumnado de la EPC

En este tercer apartado se presentan, en primer lugar, los principales requisitos para

que triunfe una aplicación y, posteriormente, se realiza un análisis de varias

aplicaciones del ámbito universitario publicadas en Google Play y se muestran los

resultados de una encuesta de opinión realizada a los alumnos de la EPC con el fin de

definir los contenidos de la aplicación.

Page 48: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 49: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

51

3.1 Principales claves para que una app tenga éxito

El mercado de las aplicaciones no deja de crecer y crecer, por lo que es muy difícil

conseguir que una aplicación destaque sobre las demás. Las expectativas de los

usuarios en un mercado tan amplio son muy altas, por lo que para satisfacerlas se

debe desarrollar una aplicación novedosa, sencilla pero a la vez con un diseño bonito

y, sobre todo, que sea útil [27] [28].

Figura 14. App de éxito Wallapop [Fuente: rincondelatecnologia.com]

Una idea original para una app no es exitosa sin una experiencia de usuario

agradable. Cada mes se suben miles de aplicaciones a Google Play pero pocas

obtienen éxito. Esto se debe a los factores de innovación y experiencia de usuario.

Hoy en día una app debe de tener la menor dificultad posible para realizar las tareas,

esto es hacer menos clics, pues la tendencia que nos ha dado la tecnología va hacia

un mundo con todo automatizado [29].

Según Álvaro Verdoy [30], para que la experiencia de usuario sea agradable, las

aplicaciones deben tener una interfaz que cumpla los siguientes requisitos:

Sencilla. Debe incluir lo justo, menos es más. Clara. No hay que innovar a la hora de definir los elementos. Es mejor llamar

las cosas por su nombre o como normalmente los usuarios las conocen. Intuitiva. Una aplicación intuitiva es aquella que no necesita de ninguna

explicación previa o manual para ser utilizada. Visual. Cada vez los usuarios vamos más rápido instalando, probando y

eliminando aplicaciones. Por eso, la interfaz se debe poder escanear fácilmente, es decir, sin necesidad de tener que leer con detalle las diferentes opciones.

Fluida. Hay que procurar que las transiciones entre pantallas y las acciones sean ágiles.

Libre de errores. Éste suele ser el punto más complicado, al menos para las primeras versiones. Ni siquiera las compañías grandes del sector consiguen sacar una aplicación perfecta a la primera, por lo que no hay que desesperarse.

Page 50: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

52

El diseño de las aplicaciones es fundamental. Cuando dos aplicaciones compiten en un mismo mercado, suele salir como ganadora aquella que se adapta a lo que demandan las tendencias actuales en cuanto a diseño se refiere. Buen ejemplo de ello es Wallapop (ver figura 14), con un diseño moderno y pequeños detalles que imprimen una personalidad propia a la app.

Las aplicaciones atractivas venden más, se utilizan durante más tiempo y están mejor valoradas, siendo el icono la parte principal sobre el que gira todo lo demás. Un icono que ha de ser descriptivo, sencillo y fácil de recordar.

La clara tendencia actual del diseño gira en torno al denominado "flat design": líneas claras, modelo en cuadrícula y minimalista. Una estética que llevaron al mercado marcas como Microsoft o Apple, siendo esta última la que más éxito cosechó [27].

3.2 Análisis de aplicaciones del ámbito universitario existentes

en el mercado

Buscando en la tienda oficial de aplicaciones de Android (Play Store) se puede

encontrar una gran cantidad de aplicaciones oficiales de distintas universidades y/o

facultades de España. Se han seleccionado algunas de las aplicaciones más similares

a la que se pretende desarrollar en este proyecto y se han instalado en un dispositivo

móvil con el sistema operativo Android con el fin de hacer un pequeño análisis. Esas

aplicaciones son las siguientes:

Facultad de Comunicación y D.

Aplicación oficial de la Facultad de Comunicación y

Documentación de la Universidad de Granada (figura 15).

Esta aplicación permite acceder a información de interés de

esta prestigiosa institución. En la figura 16 se pueden ver

todas las secciones de las que dispone.

Valoración en Play Store: 4,7/5 Figura 15. Logo de Facultad de

Comunicación y D. [Fuente: Play Store]

Page 51: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

53

Figura 16. Pantalla principal de la app de la FCD de la Univ. de Granada.

UAH

Aplicación móvil de la Universidad de Alcalá (figura 17)

desarrollada en su totalidad por estudiantes del grado de

Ingeniería Informática. En la figura 18 se muestran los

distintos apartados de esta aplicación.

Valoración en Play Store: 4,4/5

Figura 17. Logo de UAH [Fuente: Play Store]

Figura 18. Pantalla principal de la app de UAH.

Page 52: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

54

UPV - Politécnica de Valencia

Aplicación desarrollada por alumnos, titulados y técnicos

de la Universitat Politécnica de Valencia (figura 19). El

proyecto se inició en 2011 y, un año después, estuvo

disponible la primera versión para Android, iOs y Windows

Phone. En la actualidad, es responsabilidad del Área de

Comunicación, en colaboración con el Área de Sistemas de

Información y Comunicaciones.

Valoración en Play Store: 3,4/5

Universidad de Extremadura

La Universidad de Extremadura (figura 21) ofrece esta

aplicación para facilitar el acceso a información de interés

para la comunidad universitaria. En la figura 22 se muestra

la pantalla principal de esta aplicación.

Valoración en Play Store: 3,8/5

Figura 19. Logo de UPV [Fuente: Play Store]

Figura 20. Pantalla de bienvenida y menú de la app de la UPV

Figura 21. Logo de UEX [Fuente: Play Store]

Page 53: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

55

UVa App - Universidad de Valladolid

Aplicación Oficial de la Universidad de Valladolid (figura

23). En la figura 24 se puede ver la pantalla principal de

esta app. El apartado de actualidad se encuentra en

construcción.

Valoración en Play Store: 3,8/5

Figura 22. Pantalla de bienvenida y pantalla principal de la app de la UEX.

Figura 23. Logo de UVa App [Fuente: Play Store]

Figura 24. Pantalla de bienvenida y pantalla principal de la app de la UVA.

Page 54: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

56

Universidad de Cantabria

Aplicación de acceso a la información sobre los grados,

másteres, estudios propios y cursos de verano impartidos en

la Universidad de Cantabria (figura 25). Incluye detalles de

organización y el directorio universitario, así como noticias,

los eventos de agenda y redes sociales de Facebook y Twitter

(ver figura 26).

Valoración en Play Store: 3,7/5

Universidad de Murcia App

La Universidad de Murcia (figura 27) te ofrece esta

aplicación para facilitar el acceso a información de interés

para la comunidad universitaria. En la figura 28 se muestra

la pantalla principal de esta aplicación.

Valoración en Play Store: 3,3/5

Figura 25. Logo de Universidad de

Cantabria [Fuente: Play Store]

Figura 26. Pantalla principal de la app de la Universidad de Cantabria.

Figura 27. Logo de Univ. de Murcia [Fuente: Play

Store]

Page 55: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

57

Figura 28. Pantalla principal de la app de la Universidad de Murcia.

UA

La Universidad de Alicante (figura 29) ha creado esta

aplicación para ofrecer la mayor información posible.

Valoración en Play Store: 3,2/5

Parece ser que esta aplicación la han dejado un poco de

lado ya que actualmente no funciona la sección de noticias

(figura 30) y en muchos apartados te redirecciona a la

página web de la Universidad de Alicante (figura 31).

Figura 29. Logo de UA

[Fuente: Play Store]

Figura 30. Pantalla principal y sección de Noticias de la app de UA.

Page 56: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

58

UJA Ciencias Experimentales

App para consultar la información más destacada sobre la

Facultad de Ciencias Experimentales de la Universidad de

Jaén (figura 32). La información está organizada para

distintos perfiles de usuario: estudiantes de la Facultad y

futuros estudiantes de la Universidad de Jaén interesados en

conocer la oferta formativa y las instalaciones de la Facultad

(figura 33).

Valoración en Play Store: 3,3/5

Figura 31. Página web de la Universidad de Alicante.

Figura 32. Logo de UJA Ciencias Experimentales

[Fuente: Play Store]

Figura 33. Pantalla de perfil y menú de la app de la FCE de la UJA.

Page 57: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

59

Universidad de Oviedo (UniOvi)

La aplicación oficial de la Universidad de Oviedo (figura 34)

convierte tu móvil en el acceso rápido a muchos servicios y

datos de interés de la Universidad. En la figura 35 se pueden

ver algunos de estos servicios.

Valoración en Play Store: 3,1/5

Figura 35. Pantalla principal de UniOvi.

En la tabla1 se muestran los contenidos que ofrecen cada una de las aplicaciones

mencionadas anteriormente.

Figura 34. Logo de UniOvi [Fuente: Play

Store]

Page 58: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

60

FCD UAH UPV UEX UVA Univ. de Cantabria Univ. de Murcia UA UJA UniOvi

Noticias x x x x x x x x

Información sobre las titulaciones

x x x x x x x

Directorio del profesorado x x x x x x

Agenda x x x x x

Ubicación de edificios, mapa x x x x x

Redes sociales x x x x

Chat x

Acceso al Campus Virtual x x x

Notificaciones x

Calendario académico x x x x x x

Normativa x x

Acceso al correo universitario x x

Tabla 1. Comparación de contenidos entre aplicaciones de otras Universidades.

Page 59: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

61

Las aplicaciones anteriores no tienen más de 4-5 contenidos en común, es decir, no

siguen ningún patrón. Sin embargo, se pueden diferenciar tres grupos de contenidos,

según el número de aplicaciones en las que aparecen:

"Muy necesarios", que son aquellos que aparecen en 6 aplicaciones o más. En

este grupo se encuentran: noticias (8), información de las titulaciones (7),

directorio del profesorado (6) y calendario académico (6).

"Necesarios", presentes en 3-5 aplicaciones. Aquí entran: agenda (5),

localización (5), redes sociales (4) y acceso al campus virtual (3).

"Poco necesarios", disponibles en 2 aplicaciones o menos. En este último

grupo están: actividad investigadora (2), normativa (2), vídeos (2), acceso al

correo universitario (2), fotografías (1), chat (1) y notificaciones (1).

La conclusión es que según el desarrollador de cada una de las aplicaciones se han

considerado más necesarios unos contenidos u otros. Cabe destacar que el chat y las

notificaciones, contenidos que podrían ser muy interesantes, tan sólo aparece en una

de las aplicaciones analizadas. Esto quizás no se deba a que los desarrolladores no los

hayan considerado poco necesarios sino a que cuando crearon las aplicaciones

probablemente no disponían de las librerías o API's destinadas a ello y, por tanto, su

implementación era muy compleja.

Page 60: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

62

3.3 Encuesta de opinión del alumnado de la EPC

Debido a que anteriormente se constató que no existía ningún patrón reiterativo en

las aplicaciones, se decidió realizar una encuesta (ver figura 36) a los propios

alumnos de la Escuela Politécnica de Cuenca para conocer su opinión, ya que son los

clientes potenciales de la aplicación.

Figura 36. Encuesta de opinión del alumnado de la EPC.

Page 61: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

63

La elaboración de los ítems presentes en la encuesta se basó en las aplicaciones

analizadas con anterioridad y estuvo asesorada por los directores de este trabajo fin

de grado y por la dirección de la Escuela. También colaboraron otros profesores

permitiendo que se pasara la encuesta en una de sus clases.

Además de los ítems de las aplicaciones analizadas se decidió añadir otros

adicionales en la encuesta, puesto que se consideró que era una información muy

importante para los alumnos. Estos ítems son:

Apoyo, orientación y servicios.

Formas de acreditar el nivel B1 de idioma.

Representantes estudiantiles.

En la tabla 2 se muestran los resultados obtenidos en la encuesta, realizada por un

total de 110 alumnos.

Para calcular el promedio se ha utilizado la fórmula de la media ponderada:

Este cálculo es apropiado cuando en un conjunto de datos cada uno de ellos tiene

una importancia relativa (o peso) respecto de los demás datos. Se obtiene

multiplicando cada uno de los datos (xi) por su ponderación o peso (wi) para luego

sumarlos, obteniendo así una suma ponderada. En este caso los datos equivalen a los

grados de relevancia de los contenidos y los pesos al número de alumnos. Después se

divide la suma ponderada entre la suma de los pesos, dando como resultado la media

ponderada.

Así, por ejemplo, el promedio de las noticias se ha obtenido de la siguiente manera:

((0*3 + 1*0 + 2*19 + 3*31 + 4*57)/110) = 359/110 = 3,26

Page 62: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

64

0 1 2 3 4 Total Promedio

1. Noticias de la escuela (cursos, conferencias, becas...) 3 0 19 31 57 110 3,26

2. Acceso al campus virtual 3 1 11 14 81 110 3,54

3. Foro/Chat con alumnos y profesores 3 12 40 30 25 110 2,56

4. Información del profesorado (correo, despacho, tutorías...) 0 6 8 40 56 110 3,33

5. Planificación académica (horarios y fechas de exámenes) 0 2 6 25 77 110 3,61

6. Información general del título (créditos, salidas profesionales...) 3 11 21 41 34 110 2,84

7. Plan de estudios (asignaturas y créditos) 3 9 28 39 31 110 2,78

8. Normativa UCLM y EPC 10 21 39 26 14 110 2,12

9. Formas de acreditar el nivel B1 de idioma en la UCLM 6 9 29 32 34 110 2,72

10. Representantes estudiantiles (Delegación de alumnos) 10 19 39 27 15 110 2,16

11. Programas de movilidad internacional (Erasmus y América) y nacional 4 5 28 33 40 110 2,91

12. Apoyo, orientación y servicios (Cursos 0, formación complementaria, CIPE...) 2 7 24 43 34 110 2,91

13. Notificaciones de tareas, exámenes... 0 0 4 20 86 110 3,75

14. Acceso al correo universitario 2 5 13 28 62 110 3,30

15. Plano de la escuela 38 33 18 12 9 110 1,28

Tabla 2. Resultados de la encuesta de opinión del alumnado de la EPC.

Page 63: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

65

Para analizar mejor los resultados obtenidos se ha decidido cuantificar

objetivamente la necesidad de cada contenido, dividiendo proporcionalmente el

rango de puntuación entre tres categorías, de tal forma que la primera categoría

(muy necesarios) queda entre los límites 0-1.33, la segunda (necesarios) entre 1.33-

2.66 y la tercera (poco necesarios) entre 2.66-4:

“Muy necesarios”: en este grupo se encuentran (en negrita): notificaciones

de tareas y exámenes (3,75), planificación académica (3,61), acceso al

campus virtual (3,54), información del profesorado (3,33), acceso al correo de

la universidad (3,30), noticias de la Escuela (3,26), apoyo, orientación y

servicios (2,91), programas de movilidad internacional (2,91), información

general del título (2,84), plan de estudios (2,78) y formas de acreditar el nivel

B1 de idiomas (2,72).

“Necesarios”: aquí se encuentran (en verde): foro/chat con alumnos y

profesores (2,56), representantes estudiantiles (2,16) y la normativa de la

UCLM y de la EPC (2,12).

“Poco necesarios”: en este último grupo sólo se encuentra (en rojo) el plano

de la escuela (1,28).

Como era de esperar, el contenido mejor valorado por los estudiantes ha sido el de

las notificaciones de tareas y exámenes, pues es un servicio que la gran mayoría de

las aplicaciones de hoy en día ofrecen.

El contenido que se considera menos necesario para la aplicación es el plano de la

escuela. Posiblemente esto se deba a que todos los estudiantes que han realizado la

encuesta conocen perfectamente el edificio.

En cuanto a los demás contenidos se puede decir que han sido bastante bien

valorados por los alumnos, ya que todos han obtenido puntuaciones por encima del 2.

Tras haber realizado, por un lado, un análisis de otras aplicaciones de distintas

Universidades y Facultades de España y, por otro, una encuesta a los alumnos de la

Politécnica de Cuenca, se extraen las siguientes conclusiones:

1. Los contenidos que está claro que debe ofrecer la aplicación, ya que son muy

valorados tanto por los desarrolladores de las aplicaciones anteriores como

por los alumnos de la Politécnica, son: noticias de la Escuela, información

del profesorado, planificación académica, información general del título,

plan de estudios, acceso al Campus Virtual y normativas.

2. Otros contenidos como apoyo, orientación y servicios, formas de acreditar

el nivel B1 de idioma o representantes estudiantiles no aparecían en

ninguna de las aplicaciones analizadas y, sin embargo, para los alumnos

encuestados sí son contenidos importantes.

3. A pesar de que sólo una de las aplicaciones mencionadas disponía de

notificaciones, para los alumnos de la Politécnica de Cuenca éste es uno de

los contenidos más necesarios. De igual modo ocurre con el acceso al correo

y el foro/chat de profesores y alumnos.

Page 64: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 3. DEFINICIÓN DE LOS CONTENIDOS DE LA APLICACIÓN.

66

4. Sin embargo, con la localización pasa justo lo contrario, pues es un contenido

bastante considerado por los desarrolladores de las aplicaciones analizadas

pero los alumnos de la Politécnica no lo ven tan necesario.

Como conclusión, y teniendo en cuenta los resultados obtenidos anteriormente, se ha

decidido intentar incluir los siguientes contenidos en la aplicación (por orden de

prioridad descendiente):

Notificaciones de tareas y exámenes

Planificación académica (horarios y fechas de exámenes)

Acceso al Campus Virtual

Información del profesorado

Acceso al correo de la Universidad

Noticias de la Escuela

Apoyo, orientación y servicios

Programas de movilidad internacional

Información general del título

Plan de estudios

Formas de acreditar el nivel B1 de idioma

Foro con alumnos y profesores

Representantes estudiantiles

Normativa de la UCLM y de la EPC

Page 65: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 66: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 67: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

69

4 POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO

Contenidos

4.1 ¿Qué es Politécnica Cuenca?

4.2 Diseño de la interfaz de usuario

4.3 Base de datos local - SQLite

4.4 Comunicación entre componentes de la GUI

4.5 Tamaño de la aplicación

4.6 Compatibilidad

En esta sección se explica en primer lugar qué es Politécnica Cuenca y

posteriormente se describe cómo se ha llevado a cabo el proceso de implementación

de cada una de las partes del proyecto.

Page 68: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 69: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

71

4.1 ¿Qué es Politécnica Cuenca?

Politécnica Cuenca, cuyo logo se puede ver en la figura 37, es una aplicación para

dispositivos móviles con sistema operativo Android destinada a los alumnos de la

Escuela Politécnica de Cuenca.

Figura 37. Logo de Politécnica Cuenca.

La aplicación le permite al alumno:

Ver las noticias que se publican en el blog de la Escuela sobre becas,

conferencias, cursos...

Acceder al Campus Virtual (requiere autenticación), la plataforma de la UCLM

para gestionar el material educativo. El alumno puede consultar sus

calificaciones, descargarse los apuntes...

Consultar las fechas de los exámenes.

Consultar el horario.

Saber cuál es el despacho y el correo de un profesor, así como el horario de

tutorías y las asignaturas que imparte.

Gestionar mejor su tiempo de estudio con el uso de la agenda. El alumno

puede saber en todo momento qué tareas tiene pendientes y además tiene la

opción de añadir los eventos a la aplicación del calendario de su dispositivo

para que le avise cuando él quiera.

Informarse sobre los distintos servicios que ofrece tanto la UCLM como la

Escuela Politécnica (Deportes, CIPE, Cursos 0...)

Consultar el calendario académico.

Acceder al correo de la Universidad (requiere autenticación).

Conocer cuáles son las salidas profesionales del grado que está estudiando.

Saber cuáles son las distintas posibilidades que existen para acreditar el nivel

B1 de idiomas (Programa Aprende Lenguas, prueba de nivel de la UCLM...).

Conocer el plan de estudios.

Informarse sobre la realización de prácticas externas (perfil del estudiante,

duración, remuneración económica...). El alumno tiene la posibilidad de

descargarse la normativa y de acceder al portal de prácticas externas del

CIPE.

Informarse sobre los distintos programas de movilidad que ofrece la UCLM

(Erasmus, SICUE...).

Page 70: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

72

4.2 Diseño de la interfaz de usuario Como ya se vio en el capítulo anterior, toda actividad consta de dos partes: la parte lógica y la parte gráfica. La parte lógica es una archivo .java que es la clase que se crea para poder manipular y colocar el código de esa actividad. La parte gráfica es un archivo XML que tiene todos los elementos que estamos viendo de una pantalla declarados con etiquetas parecidas a las del HTML, es decir, que el diseño de una aplicación en Android se hace similar a una página web [31]. Android facilita un complejo modelo para la construcción de la interfaz de usuario.

Este modelo se fundamenta en la clase View (vista) desde la que se extienden

múltiples clases para cubrir cualquier tipo de necesidad. Los dos tipos de vistas más

importantes que existen son los widgets o controles (Button, TextView, ListView…) y

los layouts o diseños (LinearLayout, RelativeLayout, FrameLayout…) [32].

Una vista, tal y como se define en [33], es un componente que permite controlar la

interacción del usuario con la aplicación. Si se quiere combinar varios elementos de

este tipo se tiene que utilizar un objeto de tipo layout, el cual permite organizar un

conjunto de vistas en su interior. De modo que un layout puede contener, a su vez,

uno o varios layouts [34].

Por tanto, cuando se crea una actividad, lo primero es definir las vistas en el archivo XML y colocarlas en la posición deseada. Para ello Android ofrece al desarrollador una serie de parámetros que permiten definir márgenes, alineaciones, distancias entre views, etc. Después de que se hayan organizado las vistas, en el archivo .java se debe tener una

instancia a cada uno de los elementos views que quieran ser modificados a lo largo

de su ciclo de vida. Esto se consigue asignándole un identificador a cada elemento

view y luego creando un objeto, de tipo igual a la view a la que se instancia, que

buscará la view correspondiente a ese identificador. Una vez que se tenga esto ya se

puede actuar sobre el elemento view desde el archivo .java mediante distintos

métodos como pueden ser el get o el set, si queremos obtener o modificar sus datos

respectivamente.

En este punto se tratará de explicar cómo se han creado las distintas vistas de la

aplicación.

Page 71: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

73

4.2.1 RelativeLayout y LinearLayout

Tal y como se define en [35], un RelativeLayout es un view group (elemento visual

que contiene otros views) que permite especificar la posición de cada elemento de

forma relativa a su elemento padre o a cualquier otro elemento incluido en el propio

layout. Así, por ejemplo, al incluir un nuevo elemento A podremos indicar mediante

parámetros (ver figura 38) que debe colocarse debajo del elemento B y alineado a la

derecha del layout padre.

Figura 38. Parámetros de un RelativeLayout [36]

Según lo descrito en [36], un LinearLayout distribuye sus vistas en una sola dimensión establecida. Es decir, o todas organizados en una sola columna (vertical) o en una sola fila (horizontal). La orientación se puede definir mediante el atributo android:orientation (ver figura 39).

Figura 39. Orientación de un LinearLayout [36]

Page 72: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

74

Este tipo de layout también permite asignar una gravedad (left, center, right) a cada componente y un peso que define la importancia que tiene la vista dentro del layout (a mayor importancia más espacio ocupará). En la figura 40 están representados gráficamente estos dos parámetros. En la aplicación Politécnica Cuenca se ha utilizado el RelativeLayout como elemento padre en la mayoría de las actividades, puesto que permite una mejor organización gracias a la referencia relativa que se puede asignar a sus componentes hijos. El LinearLayout se ha empleado en unas actividades dentro de un RelativeLayout y en otras dentro de un ScrollView (elemento del que se hablará en el siguiente punto). Nunca se ha usado como base de una actividad, ya que utiliza referencias absolutas, o lo que es lo mismo, describe al detalle cuáles son las medidas numéricas de sus componentes. Así, por ejemplo, se puede expresar la ubicación de un componente de la siguiente forma: "El botón OK estará ubicado en el punto (200,120) del layout y sus dimensiones son 200x30 dp" Sin embargo, en un RelativeLayout se usarán expresiones como la siguiente: "El botón OK estará ubicado a la izquierda del extremo derecho del TextView y sus dimensiones serán ajustadas al padre" Esto quiere decir que no importa de qué tamaño sea la pantalla del dispositivo o qué densidad tenga, el elemento (el botón en este caso) se ajustará relativamente a las condiciones que se le han impuesto, lo cual permite una mejor experiencia para distintos usuarios sin importar las características de su dispositivo. En la figura 41 se puede apreciar cómo el layout se adapta tanto a una pantalla grande como a una más pequeña.

Figura 40. Gravedad y peso en un LinearLayout.

Page 73: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

75

Figura 41. Vista Editar Evento en tablet de 7" y smartphone de 5".

Page 74: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

76

4.2.2 ScrollView

Un ScrollView, según lo descrito en [37], es un contenedor de una jerarquía de vistas

que pueden ser desplazadas por el usuario, permitiendo que sea más grande que la

pantalla física.

En realidad un ScrollView es un FrameLayout (layout más simple que no realiza

ninguna distribución de las vistas, simplemente las coloca unas encima de otras) que

permite el desplazamiento vertical u horizontal, por lo que se debe añadir un layout

(normalmente un LinearLayout con orientación vertical) que presente un conjunto de

elementos por los que el usuario se pueda desplazar.

Gracias a este view se han podido diseñar las actividades de la aplicación que contienen mucho texto y que, de no ser por el desplazamiento vertical, no se podría visualizar en pantalla. En la Figura 42 se puede observar la apariencia que tiene una de estas actividades.

Figura 42. Actividad con un ScrollView.

Page 75: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

77

4.2.3 WebView

Este tipo de vista sirve para mostrar páginas web bien mediante el navegador web

del dispositivo (externo a la aplicación) o bien dentro de una actividad. Utiliza el

motor de renderizado WebKit para visualizar páginas web e incluye métodos para

navegar hacia adelante y hacia atrás a través de una historia, acercar y alejar,

realizar búsquedas de texto, etc. [38]

Para que la actividad pueda acceder a las páginas web de Internet y las cargue en el

WebView, se deben agregar los permisos de Internet correspondientes al archivo

"manifest.xml" de Android:

En la aplicación se ha empleado este widget para mostrar el acceso al Campus

Virtual de la UCLM, la página web del blog de la Escuela Politécnica de Cuenca (en la

sección de Actualidad), el acceso al correo de la Universidad y las páginas del CIPE y

de UCLM Internacional. En la figura 43 se muestran dos de estas vistas.

<uses-permission android:name="android.permission.INTERNET"

/>

Figura 43. Vistas Actualidad y Campus Virtual.

Page 76: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

78

A continuación se muestra una parte del código de la actividad que se encarga de

mostrar una web u otra, en función de lo que elija el usuario:

El código de la clase MyWebViewClient es el siguiente:

El primer método de esta clase se ocupa de cargar la url pasada en la misma Activity

y el segundo hace que desaparezca un cuadro de diálogo de progreso cuando termine

de cargar la página.

private class MyWebViewClient extends WebViewClient

{

public boolean shouldOverrideUrlLoading(WebView view, String url)

{

view.loadUrl(url);

return true;

}

@Override

public void onPageFinished(WebView view, String url)

{

if (progress.isShowing())

{

progress.dismiss();

}

}

}

//Accedemos al layout WebView para manipularlo posteriormente

web = (WebView)findViewById(R.id.web_view);

WebSettings settings = web.getSettings();

settings.setJavaScriptEnabled(true);//Activamos JavaScript

//Ajustamos la vista para que no se vea demasiado grande

settings.setLoadWithOverviewMode(true);

settings.setUseWideViewPort(true);

Bundle bundle = getIntent().getExtras();

switch (bundle.getInt("id"))

{

case 1:

web.loadUrl(url_campus);//Url que carga la app (WebView)

setTitle("Campus Virtual");

break;

case 2:

web.loadUrl(blogEPC);

setTitle("Actualidad");

break;

.

.

.

web.setWebViewClient(new MyWebViewClient());//Forzamos a que se cargue la url dentro de la app

Page 77: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

79

4.2.4 ListView y ExpandableListView

Un ListView es un grupo de vistas que muestra una lista vertical de elementos

desplazables. Estos elementos son insertados automáticamente en la lista mediante

un adaptador que obtiene el contenido de un array o de una base de datos y

convierte cada ítem resultante en una vista que es colocada en la lista [39].

Un aspecto importante a destacar es que nunca se debe utilizar un ScrollView con un

ListView, ya que éste tiene incorporado un ScrollView que permite el desplazamiento

vertical por si se agota la pantalla para los elementos insertados [40].

Esta vista se ha usado en la actividad de la agenda de la aplicación para listar los distintos eventos (exámenes, prácticas o trabajos) que el usuario vaya añadiendo y también en la actividad que se encarga de mostrar los exámenes o los horarios, según lo que elija el usuario. El primer paso para crear este tipo de actividad es añadir la vista de tipo ListView al

archivo de diseño de la actividad, quedando algo como en la figura 44.

Figura 44. ListView en fase de diseño.

Page 78: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

80

Lo siguiente es crear un “item.xml”, es decir, diseñar el estilo que tendrá una de las

filas de la lista.

Una vez se tenga esto, hay que añadir datos a la lista desde un adaptador. Un

adaptador es un objeto que le pasa a un ListView los datos necesarios para crear las

filas de la lista. Además, genera las vistas para cada elemento de la lista. Es decir, el

adaptador lo hace todo, solo que la lista es la que termina mostrando la información

final.

Android proporciona varias subclases de adaptadores que facilitan la

implementación. En el caso de la actividad de los exámenes y los horarios no se ha

utilizado ninguna subclase, ya que se ha creado el adaptador desde cero. Sin

embargo, para el listview de la agenda sí que se ha elegido la subclase

SimpleCursorAdapter, pues es un adaptador específico para trabajar con bases de

datos. Tras hacer una consulta en la base de datos y obtener un objeto de tipo

Cursor, éste se pasa al adaptador para que lo recorra y cree tantas vistas como

registros se hayan encontrado. Esto se consigue creando una instancia al archivo

“ítem.xml” para luego poder acceder a cada una de sus views y modificarlas con los

datos del cursor:

Por último, el ListView se rellena con todas las filas generadas por el adaptador y se

representan en la interfaz de usuario tal y como se muestra en la figura 45.

db = new DataBase(this);

db.abrir();

Cursor c = db.consultarRegistro();

//Configuramos un mapa desde el cursor para poder acceder a las distintas

columnas de la tabla de la base de datos y mostrar lo que contienen en el

layout

String [] fromFieldNames = new String [] {DataBase.COLUMNA_IMAGEN,

DataBase.COLUMNA_NOMBRE, DataBase.COLUMNA_DIA_EVENTO,

DataBase.COLUMNA_HORA_EVENTO, DataBase.COLUMNA_DESCRIPCION,

DataBase.COLUMNA_ID};

int [] toViewId = new int[] {R.id.imagenTE, R.id.tvNombre,

R.id.tvDia,R.id.tvHora, R.id.tvDescripcion, R.id.tvID};

//Creamos el adaptador

//SimpleCursorAdapter (contexto, layout, datos, nombre de los campos, id

del layout donde queremos mostrar los valores de los campos)

SimpleCursorAdapter adapter = new

SimpleCursorAdapter(this,R.layout.image_list_item,c,fromFieldNames,toViewId

,0);

Page 79: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

81

Figura 45. Actividad con un ListView.

Tal y como se define en [41], un ExpandableListView es una vista que muestra

elementos en una lista de dos niveles con desplazamiento vertical. Su uso es

exactamente igual que el de un ListView, es decir, se debe crear un layout para cada

ítem y también precisa de un adaptador. La única diferencia es que permite dos

niveles, es decir, está formado por grupos que, individualmente, se pueden ampliar

para mostrar sus hijos.

En la figura 46 se puede ver una actividad de la aplicación en la que se ha utilizado

este widget.

Page 80: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

82

Además de para mostrar la información de los profesores, este widget se ha usado

también para mostrar la información de las asignaturas de los distintos grados (Plan

de estudios).

4.2.5 Action Bar

La Action Bar es la barra de título y herramientas que aparece en la parte superior

de la mayoría de las aplicaciones actuales. En una Blank Activity de Android Studio la

Action Bar viene activada por defecto, pero si fuera necesario activarla habría que

instanciar un objeto de tipo Action Bar y poner a “true” el parámetro de visibilidad.

Las principales funciones de la barra de acción [42] son las siguientes:

Un espacio dedicado para darle a la app una identidad e indicarle al usuario

en qué sección de la app se encuentra.

Acceso a las acciones importantes de una manera predecible, como por

ejemplo la búsqueda.

Apoyo a la navegación mediante menús desplegables.

Figura 46. Actividad con un ExpandableListView.

Page 81: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

83

En Politécnica Cuenca se utiliza para desplegar el menú en la pantalla principal (ver

figura 47) y también para indicar en qué vista se encuentra el usuario y en función de

ésta mostrar unas acciones u otras. Por ejemplo, a la hora de editar un evento en la

agenda, aparecen tres acciones: eliminar, guardar y añadir notificación (ver figura

52).

Figura 47. Pantalla principal de Politécnica Cuenca.

4.2.6 Menú

Politécnica Cuenca usa un menú (ver figura 48) que se conoce como Navigation

Drawer, un panel de navegación que muestra algunas secciones de la aplicación en el

borde izquierdo de la pantalla. Se oculta la mayor parte del tiempo, pero se revela

cuando el usuario desliza un dedo desde el borde izquierdo de la pantalla o cuando el

usuario toca el icono correspondiente en la barra de acción [43].

Action Bar

Page 82: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

84

Figura 48. Menú de Politécnica Cuenca.

Para la creación de este menú se ha utilizado una plantilla que viene por defecto en

Android Studio (Navigation Drawer Activity). Únicamente se han cambiado el fondo

de la cabecera y los ítems del listview que tiene incorporado el menú.

A continuación se muestra el archivo .xml de la cabecera del menú:

Para cambiar el fondo de la cabecera se le ha indicado al parámetro "background"

que tiene que coger la imagen llamada "menu" de la carpeta drawable.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="@dimen/nav_header_height"

android:background="@drawable/menu"

android:theme="@style/ThemeOverlay.AppCompat.Dark"

android:orientation="vertical"

android:gravity="bottom"

android:weightSum="1">

</LinearLayout>

Page 83: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

85

Por otro lado, una parte del código del archivo .xml del Navigation Drawer:

Aquí es donde se han ido añadiendo los ítems del listview que contiene el menú. En

cada ítem se han definido tres parámetros: un identificador (id), una imagen (icon) y

un nombre (title).

4.3 Base de datos local - SQLite

Tal y como describe Damián Pérez en [44], una base de datos es un conjunto de

información relacionada que se almacena normalmente en tablas. Cada tabla tiene

una o más columnas y filas. Las columnas guardan una parte de la información sobre

cada elemento que se quiera guardar en la tabla y cada fila de la tabla conforma un

registro.

Los Sistemas de Gestión de Base de Datos (SGBD) son un tipo de software muy

específico, dedicado a servir de interfaz entre la base de datos, el usuario y las

aplicaciones que la utilizan. Un SGBD permite el almacenamiento, manipulación y

consulta de datos pertenecientes a una base de datos organizada en uno o varios

ficheros.

¿Qué es SQLite?

Figura 49. Logo de SQLite [46].

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<group android:checkableBehavior="single">

<item android:id="@+id/nav_apoyo"

android:icon="@drawable/help"

android:title="Apoyo, Orientación y Servicios" />

<item android:id="@+id/nav_calendario"

android:icon="@drawable/ic_action_calendar_month"

android:title="Calendario" />

<item android:id="@+id/nav_correo"

android:icon="@drawable/ic_action_mail"

android:title="Correo" />

.

.

.

Page 84: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

86

SQLite, cuyo logo se puede ver en la figura 49, es un ligero gestor de bases de datos de código abierto, que se caracteriza por mantener el almacenamiento de información persistente de forma sencilla [45].

A diferencia de otros gestores de bases de datos como MySQL, SQL Server y Oracle

DB, no necesita un proceso separado funcionando como servidor ya que lee y escribe

directamente sobre archivos que se encuentran en el disco duro [46]. En lugar de eso

el motor SQLite es un proceso más del programa, por lo que pasa a ser parte integral

del mismo. Esto aumenta la rapidez de acceso a los datos, ya que es más eficiente la

llamada a funciones que la comunicación entre procesos [47].

SQLite está construida en C y la base de datos se almacena en un único archivo, lo

cual facilita la portabilidad de los datos a diversas plataformas de sistemas

operativos y de dispositivos [48].

Es por todo lo anterior que SQLite es una tecnología cómoda para los dispositivos móviles. Su simplicidad, rapidez y usabilidad permiten un desarrollo muy amigable. Android incorpora una librería SQLite que permite utilizar bases de datos mediante el lenguaje SQL, de una forma sencilla y utilizando muy pocos recursos del sistema.

En Politécnica Cuenca se ha utilizado esta librería para guardar todos los datos relacionados con los eventos de la agenda en una base de datos que se almacena en un archivo del dispositivo del usuario. Es decir, el tipo (si es examen, tarea o práctica), el nombre del evento, la fecha, la hora y la descripción.

Figura 50. Estructura de la tabla Eventos en la base de datos local.

En la figura 50 se muestra la estructura de la tabla Eventos. Además de los datos

mencionados anteriormente, también se guardan dos enteros que se corresponden

con el identificador del evento (_id) y la imagen que se mostrará en el listview según

el tipo de evento que sea.

A continuación se muestra un ejemplo para ver todo esto con más claridad:

Page 85: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

87

Figura 51. Ejemplo de eventos guardados en la base de datos.

Para construir esta base de datos se ha creado una clase que hereda de la clase

abstracta SQLiteOpenHelper:

Esta clase tiene la función de abrir la base de datos para permitir lectura/escritura y

de cerrarla al terminar dicho proceso. Además define una serie de constantes que

representan el nombre de los campos que contiene la base de datos y los métodos

necesarios para consultar, insertar, borrar y actualizar los registros. A continuación

se muestra el código de estos métodos:

public void insertar (String tipo, int imagen, String nombre, String

diaE, String horaE, String descripcion)

{

db.insert(TABLA_EVENTOS, null, generarContentValues(tipo, imagen,

nombre, diaE, horaE, descripcion));

}

public int actualizarDatos(long tareaID, String nuevoNombre, String

nuevoDE, String nuevaHE, String nuevaDescripcion)

{

ContentValues cvActualizar = new ContentValues();

cvActualizar.put(COLUMNA_NOMBRE, nuevoNombre);

cvActualizar.put(COLUMNA_DIA_EVENTO, nuevoDE);

cvActualizar.put(COLUMNA_HORA_EVENTO, nuevaHE);

cvActualizar.put(COLUMNA_DESCRIPCION, nuevaDescripcion);

int i = db.update(TABLA_EVENTOS, cvActualizar , COLUMNA_ID + " = "

+ tareaID, null);

return i;

}

public void borrarDatos (long tareaID)

{

db.delete(TABLA_EVENTOS, COLUMNA_ID + "=" + tareaID, null);

}

public Cursor consultarRegistro ()

{

String columnas [] = new String[] {COLUMNA_ID, COLUMNA_TIPO,

COLUMNA_IMAGEN, COLUMNA_NOMBRE, COLUMNA_DIA_EVENTO, COLUMNA_HORA_EVENTO,

COLUMNA_DESCRIPCION};

return db.query(TABLA_EVENTOS, columnas, null, null, null, null,

null);

}

public class DataBase extends SQLiteOpenHelper

Page 86: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

88

4.4 Comunicación entre componentes de la GUI

En Android, los componentes más importantes de la interfaz gráfica de usuario (GUI)

son las Activities. Algo muy habitual cuando se desarrolla una aplicación para

Android, es poder “enviar” datos (variables, objetos, etc.) desde una Activity a otra.

Para realizar esta tarea en Android se utilizan los llamados Intents, elementos

encargados de comunicar los componentes de una aplicación. Se pueden entender

como los mensajes o peticiones que son enviados entre los distintos componentes de

una aplicación o entre distintas aplicaciones. Mediante un intent se puede mostrar

una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast,

iniciar otra aplicación, etc. [49].

Los datos que se envían entre una actividad y otra se denominan Extras y se componen de un identificador y un valor. Antes de iniciar la nueva actividad se deben adherir los datos al intent con el método putExtra():

La Activity receptora implementará tantos métodos “get” como datos espere recibir, especificando el identificador con el que se envía:

public void onClick(View v)

{

switch (v.getId())

{

case R.id.botonCampus:

Intent intentCampus = new

Intent(PantallaPrincipal.this,AbrirWeb.class);

intentCampus.putExtra("id",1);

startActivity(intentCampus);

break;

//Enlazamos al intent que lanzó la actividad Inicial

Bundle bundle = getIntent().getExtras();

//En función del parámetro pasado haremos una cosa u otra

switch (bundle.getInt("id"))

{

case 1:

web.loadUrl(url_campus);//Url que carga la app (WebView)

setTitle("Campus Virtual");//Cambiamos el título de la toolbar

break;

.

.

.

Page 87: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

89

La Figura 52 muestra uno de los usos de los intents en la aplicación. La actividad de

la izquierda le pasa a la de la derecha cuatro Strings: el nombre del evento, la fecha,

la hora y la descripción.

Además de para enviar datos entre una actividad y otra, los intents se han utilizado

también en la aplicación para iniciar otra aplicación desde una actividad. Es el caso

de la actividad que se usa para editar los eventos de la agenda (ver figura 52), pues

al pulsar sobre el botón de añadir notificación en la action bar abre la aplicación del

calendario que tenga instalada el usuario en su dispositivo.

Acciones

Añadir notificación

Figura 52. Comunicación Activity-Activity.

Page 88: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

90

4.5 Tamaño de la aplicación

Un aspecto que se ha tenido muy en cuenta durante el desarrollo de la aplicación ha

sido el tamaño de la misma, pues hay muchos dispositivos que disponen de poca

memoria para instalar aplicaciones.

Para reducir lo máximo posible el tamaño de la aplicación se ha optimizado el

tamaño de las imágenes empleadas y además se ha recurrido a la reutilización de

código. Con esto último se evita repetir una y otra vez las mismas líneas. Por ello se

han reutilizado algunas Activities con diversos fines.

En la figura 53 se puede observar que para mostrar el horario de los dos grados de la

EPC se ha utilizado la misma Activity. Tan sólo cambia el título de la Activity en la

Action Bar, la imagen y, aunque los botones son los mismos, en cada Activity realizan

una acción distinta.

Esto se consigue mediante el paso de parámetros entre activities y para poder pasar

un parámetro de una actividad a otra es necesario usar los intents, cuyo

funcionamiento se ha explicado en el punto anterior. En este caso, al pulsar sobre el

botón horario aparece un cuadro de diálogo para elegir el grado del que se quiere ver

el horario. Según el grado elegido se pasará un identificador u otro a la nueva

actividad y ésta mostrará una vista u otra según el identificador recibido.

Título

Botones Botones

Imagen Imagen

Figura 53. Vista Horario.

Page 89: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 4. POLITÉCNICA CUENCA: METODOLOGÍA Y DESARROLLO.

91

4.6 Compatibilidad La RAE define compatible como: “Que puede funcionar directamente con otro

dispositivo, aparato o programa”.

En Android la compatibilidad con las versiones más antiguas se consigue a través de

las librerías de compatibilidad (la aplicación utiliza app_compact_v7). Politécnica

Cuenca se ha desarrollado para versiones superiores a la Api 15 (Android 4.0 Ice

Cream Sandwich), esto quiere decir que, según los datos proporcionados por Android

Studio (ver figura 54), el 94 % de los usuarios de Android podrán ejecutar la

aplicación en sus dispositivos.

Figura 54. Distribución de los usuarios de las distintas versiones de Android.

Page 90: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 91: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

93

5 PUBLICACIÓN DE LA APP Y RESULTADOS

5.1 Publicación de la app.

5.2 Encuesta de satisfacción.

En este capítulo se tratarán los pasos a seguir para publicar una aplicación en la

tienda de aplicaciones para Android de Google y se analizarán los resultados de una

encuesta de satisfacción realizada a los usuarios de la aplicación.

Page 92: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 93: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

95

5.1 Publicación de la app

Google Play [50], cuyo logo se puede ver en la figura 55, es una plataforma de

distribución digital de aplicaciones móviles para los dispositivos con sistema

operativo Android, así como una tienda en línea desarrollada y mantenida por

Google. Esta plataforma permite a los usuarios navegar y descargar aplicaciones,

juegos, música, libros, revistas y películas.

Todo esto se hace a través de la aplicación Play Store, que normalmente viene

preinstalada en los dispositivos con este sistema operativo. Aunque la mayoría de las

aplicaciones son gratuitas también existen muchas de ellas que requieren un pago

previo a la descarga.

Figura 55. Logo de Google Play.

Google Play nace en Marzo de 2012 como una evolución de Android Market que ya

operaba como plataforma de compra-venta de aplicaciones para móviles desde

octubre de 2008. Google se había percatado de que era necesario integrar todas sus

tiendas en una sola para poder competir con el iTunes Store de Apple, el cual estaba

consiguiendo centralizar los contenidos multimedia de sus clientes en una misma

plataforma [51].

Una de las grandes ventajas que ofrece la tienda frente a su competidora más

cercana es que no pone demasiados requisitos a los desarrolladores a la hora de

publicar una aplicación. Basta con tener una cuenta de Google y darse de alta como

desarrollador en la consola de Google Play, pagando una única cuota de $ 25.

Después de completar el registro se accede directamente a la consola de Google

Play. Para subir una aplicación se debe presionar el botón “Añadir nueva aplicación”

e inmediatamente se abre un cuadro de diálogo en el que se solicita el nombre que

tendrá la aplicación.

Page 94: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

96

Tras esto hay que completar una serie de pasos antes de publicar la aplicación:

1. Rellenar los datos de la ficha del Play Store (ver figura 56), que serán los que

se mostrarán públicamente en la tienda.

Figura 56. Borrador de la ficha de Politécnica Cuenca para Play Store.

2. Subir el archivo apk de la aplicación (ver figura 57).

Figura 57. Subida del archivo apk a la consola de Google Play.

Page 95: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

97

3. Realizar una encuesta para determinar la clasificación del contenido (ver

figura 58). En el caso de Politécnica Cuenca es PEGI 3.

Figura 58. Clasificación del contenido de Politécnica Cuenca.

4. Establecer el precio de la aplicación y su distribución (ver figura 59). La

aplicación va a ser gratuita y se va a distribuir en España.

Figura 59. Precio y distribución de Politécnica Cuenca.

Page 96: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

98

La primera versión de Politécnica Cuenca (1.0) se publicó en Play Store el 14 de

junio de 2016 con una cuenta creada por la dirección de la EPC. En la figura 60 se

puede ver la ficha de la aplicación en la tienda de Google.

Figura 60. Ficha de Politécnica Cuenca en Play Store.

Page 97: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

99

5.2 Encuesta de satisfacción

Para conocer la opinión de los usuarios acerca de la aplicación Politécnica Cuenca se

decidió realizar una encuesta. La mayoría de las preguntas de las que consta se han

extraído de un modelo de “encuesta de satisfacción” propuesto en la página oficial

de la empresa e-encuesta [52]. Esta empresa lleva en el sector de las encuestas

desde 2006, respaldada por un gran equipo de profesionales especializados en el

tema.

La encuesta se ha creado utilizando SurveyMonkey, el software de encuestas en línea

más popular del mundo, y ha sido respondida por un total de 20 usuarios.

Las siguientes nueve figuras (figura 61, figura 62, figura 63, figura 64, figura 65,

figura 66, figura 67, figura 68, figura 69) muestran las preguntas la encuesta y los

resultados de las mismas.

Al final del capítulo se analizará el grado de satisfacción de los usuarios con la

aplicación, en función de los resultados obtenidos.

Figura 61. Resultados de la pregunta 1 de la encuesta de satisfacción.

Page 98: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

100

Figura 62. Resultados de la pregunta 2 de la encuesta de satisfacción.

Figura 63. Resultados de la pregunta 3 de la encuesta de satisfacción.

Page 99: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

101

Figura 64. Resultados de la pregunta 4 de la encuesta de satisfacción.

Figura 65. Resultados de la pregunta 5 de la encuesta de satisfacción.

Page 100: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

102

Figura 66. Resultados de la pregunta 6 de la encuesta de satisfacción.

Figura 67. Resultados de la pregunta 7 de la encuesta de satisfacción.

Page 101: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

103

Figura 68. Resultados de la pregunta 8 de la encuesta de satisfacción.

Figura 69. Resultados de la pregunta 9 de la encuesta de satisfacción.

Page 102: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 5. PUBLICACIÓN DE LA APP Y RESULTADOS.

104

De los resultados anteriores se pueden extraer las siguientes conclusiones por

pregunta:

1. La principal forma de difusión que tiene la aplicación es por recomendación

de un usuario que ya la tiene a otro que no (70% de las respuestas). Sin

embargo, otra gran parte de los encuestados se ha enterado de la existencia

de la aplicación por otra vía (25 % de las respuestas).

2. La mayoría de los encuestados (90 %) opinan que la aplicación es muy útil.

3. Prácticamente todos los encuestados (95 %) consideran que la app es

intuitiva.

4. Aquí las respuestas están más distribuidas. La conclusión es que el diseño de

la app no está mal, pero se podría mejorar.

5. La mayor parte de los encuestados (85 %) creen que la aplicación es muy

fluida.

6. Las respuestas son muy variadas, pero casi todos coinciden en que lo mejor de

la app es la cantidad de información que ofrece sobre las titulaciones de la

EPC.

7. Aquí las respuestas vuelven a ser de nuevo muy variadas, pero la mayoría

opina que el diseño de la app se podría mejorar y también piensa que se

podría integrar de algún modo el Campus Virtual en la app de forma que te

notificara de las tareas pendientes sin necesidad de añadirlas manualmente a

la agenda, cuando un profesor sube las notas de un examen, etc.

8. Casi todos los encuestados están bastante satisfechos con la aplicación.

9. El 95 % de los encuestados recomendarían la aplicación. Algo que es muy

positivo y que demuestra que el grado de satisfacción es alto (ya que en caso

contrario no la recomendarían).

Page 103: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 104: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 105: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

107

6 CONCLUSIONES Y LÍNEAS FUTURAS

Contenidos

6.1 Conclusiones

6.2 Líneas futuras

En este último capítulo de la memoria se realiza una valoración del proyecto y de los

objetivos conseguidos. Además, se analizan las posibles mejoras que pueden llevarse

a cabo en un futuro con el fin de hacer la aplicación más funcional y atractiva para

los usuarios.

Page 106: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 107: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 6. CONCLUSIONES Y LÍNEAS FUTURAS.

109

6.1 Conclusiones

La realización de este trabajo fin de grado ha supuesto un gran reto para mí, ya que

partía de unos conocimientos de programación en Android muy básicos. Además, el

hecho de afrontar un proyecto con una carga de trabajo considerable, conlleva una

organización y una dedicación muy distintas a las memorias de prácticas que se

realizan durante la carrera.

¿Qué objetivos se perseguían?

El principal objetivo de este trabajo fin de grado era desarrollar una aplicación móvil

para el sistema operativo Android que facilitara el acceso a información de interés

sobre la Escuela Politécnica de Cuenca y las titulaciones que se imparten en ella.

En concreto, se pretendía que la aplicación incluyera los siguientes contenidos:

Notificaciones de tareas y exámenes

Planificación académica (horarios y fechas de exámenes)

Acceso al Campus Virtual

Información del profesorado

Acceso al correo de la Universidad

Noticias de la Escuela

Apoyo, orientación y servicios

Programas de movilidad internacional

Información general del título

Plan de estudios

Formas de acreditar el nivel B1 de idioma

Foro con alumnos y profesores

Representantes estudiantiles

Normativa de la UCLM y de la EPC

Como objetivos secundarios se perseguían, por un lado, distribuir la aplicación de

manera gratuita a través de Google Play y, por otro lado, ampliar los conocimientos

del lenguaje de programación Java orientado al desarrollo de aplicaciones para el

sistema operativo Android e iniciarse en el manejo de bases de datos construidas en

SQLite.

¿Qué se ha conseguido?

Una aplicación que permite al alumno acceder de una manera rápida y sencilla a una

gran cantidad de información sobre los estudios que esté realizando en la Escuela

Politécnica de Cuenca.

La aplicación ya está disponible para su descarga en Google Play y dispone de

prácticamente todos los contenidos mencionados anteriormente. Sin embargo, por

falta de tiempo no se ha podido desarrollar el foro y tampoco se han añadido las

notificaciones de tareas y exámenes de la forma que se pretendía en un primer

momento.

Page 108: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

CAPÍTULO 6. CONCLUSIONES Y LÍNEAS FUTURAS.

110

Por otro lado, se ha adquirido cierta soltura a la hora de programar y se ha aprendido

a manejar una base de datos SQLite debido al desarrollo de la agenda de eventos de

la aplicación.

Por lo tanto, se puede afirmar que se han alcanzado los objetivos marcados en un

principio. Estoy satisfecho con el trabajo realizado y espero que en un futuro se

parta del código implementado para mejorar la app y que pueda ser de utilidad para

los alumnos de la Politécnica de Cuenca.

6.2 Líneas futuras

Como futuras mejoras de la aplicación se proponen las siguientes:

Crear un foro para alumnos y profesores en la página web de la EPC con un

diseño adaptable a dispositivos móviles para poder incluirlo en la aplicación.

Añadir notificaciones push para los eventos de la agenda. Este tipo de

notificaciones son las que se envían directamente desde un servidor al

cliente. Para manejarlas se recomienda utilizar Google Cloud Messaging, un

servicio de Google que permite el envío de notificaciones push a un

dispositivo. De este modo, no sería necesario utilizar la aplicación del

calendario del dispositivo del usuario para que le avise de que tiene un evento

nuevo.

Sincronizar la web de la EPC con la aplicación. Esto se podría conseguir

mediante un "parseo" o análisis sintáctico del código HTML de la página web

de la Politécnica para, así, convertir el flujo de datos con ese formato a una

representación interna de la aplicación, en este caso objetos Java. Para ello,

es necesario utilizar en Android la clase XmlPullParser, que permite recorrer

todo el documento pasando de etiqueta en etiqueta de forma controlada y

decidir en qué momento obtener los valores necesarios. De esta forma, al

modificar alguna información en la web, como por ejemplo el plan de

estudios de una titulación, se cambiaría también al mismo tiempo en la app,

por lo que sería mucho más rápido que tener que editar las variables

correspondientes en el código de la app.

En la misma línea que la anterior, se propone crear una API que se comunique

con la aplicación para acceder directamente a los datos almacenados en la

base de datos del gestor de contenidos (WordPress) de la página web de la

EPC. Si bien la opción del "parseo" solucionaría el problema de la

sincronización de la web con la aplicación, esta opción es mucho mejor ya

que si se realiza algún cambio en el código HTML de la página por el motivo

que sea, no habría que modificar el código de la aplicación que se encargase

del "parseo".

Page 109: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 110: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 111: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

II. PLANOS: DIAGRAMA

DE FLUJO

Page 112: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 113: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PLANOS: DIAGRAMA DE FLUJO

115

Este apartado contiene el diagrama de flujo de la aplicación, es decir, la

representación gráfica de los acontecimientos que ocurren en cada una de las vistas

de la aplicación.

En la figura 70 se explica el significado de cada uno de los símbolos.

Figura 70. Leyenda del diagrama de flujo de Politécnica Cuenca.

A continuación se muestra el diagrama de flujo de Politécnica Cuenca:

Page 114: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

Figura 71. Diagrama de flujo de Politécnica Cuenca.

Page 115: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 116: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 117: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

III. PLIEGO DE

CONDICIONES

Page 118: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 119: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PLIEGO DE CONDICIONES

121

Para la realización de este proyecto ha sido preciso contar con una serie de

elementos en cada una de sus etapas. En esta sección se detallarán las principales

características del hardware y el software utilizado.

Hardware

Para el desarrollo de la aplicación y las pruebas se han usado un portátil, un

smartphone y una tablet.

A continuación se presentan algunas de sus características.

Portátil ASUS K52JU

Figura 72. Portátil ASUS K52JU.

Sistema operativo: Windows® 7 Home Premium Original (64Bits)

Procesador: Intel® Core™ i3 - 380M a 2.53 GHz

Memoria RAM: 4GB (2GB * 2) DDR3 1066

Disco duro de 500 GB SATA

Tarjeta gráfica: Radeon® HD 6370 ,512MB DDR3 VRAM

Pantalla LCD: 15,6 " Glare HD LED

Page 120: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PLIEGO DE CONDICIONES

122

Smartphone BQ AQUARIS 5

Figura 73. Smartphone BQ Aquaris 5.

Sistema operativo: Android 4.2.1 Jelly Bean

Procesador: Mediatek MT6589 Quad Core 1.2 GHz (ARMv7)

RAM: 1 GB

Resolución: 960 x 540 220 PPP (HDPI)

Tamaño de pantalla: 5"

Peso: 170 g

Tablet i-joy Rebel

Figura 74. Tablet i-joy Rebel.

Page 121: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PLIEGO DE CONDICIONES

123

Sistema operativo: Android 4.1.1 Jelly Bean

Procesador: Cortex A8 - 1 x 1.2 GHz

RAM: 512 MB

Resolución: 800 x 480

Tamaño de pantalla: 7"

Peso: 330 g

Software

Sistema operativo

Todo el desarrollo se ha llevado a cabo en Windows 7.

Android Studio

Android Studio es un entorno de desarrollo integrado (IDE) para la plataforma Android. Fue anunciado el 16 de mayo de 2013 en la conferencia Google I/O, y reemplazó a Eclipse como el IDE oficial para el desarrollo de aplicaciones para Android. La primera versión estable fue publicada en diciembre de 2014.

Está basado en el software IntelliJ IDEA de JetBrains, y es publicado de forma gratuita a través de la Licencia Apache 2.0. Está disponible para las plataformas Microsoft Windows, Mac OS X y GNU/Linux.

A la hora de elegir el IDE me surgieron algunas dudas ya que en clase de Software

Multimedia la plataforma que habíamos utilizado para programar era Eclipse y

Android Studio me era totalmente desconocido, pero al final opté por este último

debido a las siguientes características:

Es más intuitivo y más fácil de usar que Eclipse.

Código más ordenado, estructurado y mejores sugerencias.

Se actualiza constantemente.

Dispone de mejores plantillas para crear diseños comunes de Android.

Compilador Gradle.

Crea los emuladores que se quieran. No exigen demasiados recursos.

Es el futuro. Eclipse está a punto de desaparecer.

SQLite Browser

Es una herramienta visual de la fuente abierta usada para crear, diseñar y corregir

los archivos de base de datos compatibles con SQLite. Está destinado a ser utilizado

por los usuarios y desarrolladores que quieran crear bases de datos, edición y

búsqueda de datos utilizando una hoja de cálculo-como interfaz familiar, sin la

necesidad de aprender complicados comandos SQL.

Page 122: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PLIEGO DE CONDICIONES

124

Filezilla Client

Es un cliente FTP que posee las herramientas mejoradas para realizar transferencias

de archivos a través del protocolo de red antes mencionado y considerado como una

de las mejores aplicaciones en este campo.

Entre sus funciones podemos citar la administración de cuentas, el almacenamiento

de las direcciones de los servidores FTP, la visualización de las cuentas remotas y de

la cuenta local; esta visualización es igual a la del explorador de Windows,

permitiéndonos el "arrastrar y soltar" con facilidad.

Este programa se ha usado para subir algunos archivos pdf a la base de datos remota.

Adobe Photoshop CC 2015

Para diseñar el logo de la aplicación se ha optado por utilizar la aplicación líder en

edición de imágenes.

Page 123: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 124: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 125: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

IV. PRESUPUESTO

Page 126: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 127: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PRESUPUESTO

129

En este apartado se especifican los gastos que han conllevado la realización del

proyecto.

Para una mejor organización, se dividirá el presupuesto en las siguientes partes:

Hardware: coste de los equipos

Software: como todo el software utilizado es gratuito o se ha usado su versión

gratuita, no se incluirá dentro del presupuesto.

Costes derivados del proyecto: honorarios y gastos del ingeniero.

Presupuesto final: se calcula a partir de los subtotales anteriores incluyendo

un 21 % de IVA.

El coste de los equipos se calcula según la siguiente fórmula de amortización:

𝑐𝑜𝑠𝑡𝑒 = Precio del equipo

Vida útil ∗

𝑈𝑠𝑜

365

Hardware

Equipo Precio (€) Vida útil (años) Uso (días) Total (€)

Portátil 519 5 240 59,72

Smartphone 199 3 240 38,16

SUBTOTAL HARDWARE = 59,72 + 38,16 = 97,88 €

Costes derivados del proyecto

Servicios contratados: Cuenta en la consola de Google Play (25 USD = 22,22 €)

Servicios (€) Horas de desarrollo Precio/Hora

22,22 540 15

SUBTOTAL COSTES DERIVADOS = 22,22 + 540*15 = 8122,22 €

Page 128: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

PRESUPUESTO

130

Presupuesto final

PRESUPUESTO TOTAL COSTE (€)

Hardware 97,88

Proyecto 8122,22

SUBTOTAL 8220,10

I.V.A. (21 %) 1726,22

TOTAL 9946,32

Page 129: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 130: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 131: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

V. REFERENCIAS

Page 132: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada
Page 133: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

REFERENCIAS

135

[1] LUENGO DE LA TORRE, María. Una aproximación al concepto de Sociedad Móvil. El smartphone: su expansión, funciones, usos, límites y riesgos. [En línea] derecom, 2012. Disponible en: <https://dialnet.unirioja.es/descarga/articulo/4331309.pdf> [consulta 18 de Marzo de 2016] ISSN 1988-2629 [2] ¿Cuántos españoles tienen un <<smartphone>>? [En línea] ABC, 20 de Octubre de 2014. Disponible en: <http://www.abc.es/tecnologia/movilestelefonia/20140725/abci-ventas-smartphones-tableta-espana-201407251123.html> [consulta 18 de Marzo de 2016] [3] Fundación Telefónica. España, el país más conectado de Europa. [En línea] Disponible en: <http://www.fundaciontelefonica.com/2015/01/21/sie14-informe-sociedad-informacion-espana-pais-conectado-europa/> [consulta 18 de Marzo de 2016] [4] MOLINA MONTOYA, Nancy Piedad. ¿Qué es el estado del arte? [En línea] Ciencia y

Tecnología para la Salud Visual y Ocular, Nº 5: 73-75. Julio - diciembre 2005.

Disponible en: <http://revistas.lasalle.edu.co/index.php/sv/article/view/1666>

[consulta: 9 de Noviembre de 2015] ISSN 1692-8415

[5] RANCHAL, Juan. Inicios, evolución y futuro del teléfono móvil. [En línea]

Disponible en: <http://www.muycanal.com/2014/01/31/futuro-del-telefono-movil>

[consulta: 9 de Noviembre de 2015]

[6] LÓPEZ MENÉNDEZ, José Ángel. Generaciones de la telefonía celular. [En línea]

Disponible en: <http://es.slideshare.net/CPT1stAngel/generaciones-de-la-telefona-

celular> [consulta: 9 de Noviembre de 2015]

[7] FERNÁNDEZ LÓPEZ, Antonio; GONZÁLEZ LÓPEZ, Daniel; RUBIO LARA, Alberto.

Transmisión y redes de datos. [En línea] Disponible en:

<http://www.uhu.es/fernando.gomez/transydat_archivos/Movil.PDF> [consulta: 9 de

Noviembre de 2015]

[8] SAZ URQUIJO, Borja. Rubicón: un nuevo enfoque para la seguridad en las aplicaciones de smartphones. Tesis doctoral en la Universidad de Deusto (País Vasco, España) [En línea] Disponible en:<http://www.ingenieria.deusto.es/> [consulta: 9 de Noviembre de 2015] [9] J. Cheng, S.H.Y. Wong, H. Yang, y S. Lu. Smartsiren: virus detection and alert for smartphones. En Proceedings of the 5th international conference on Mobile systems, applications and services, páginas 258–271. ACM, 2007. [10] G.W. Chow y A. Jones. A Framework for Anomaly Detection in OKL4-Linux Based Smartphones. En Australian Information Security Management Conference, página 49. Citeseer, 2008. [11] GSMArena. OS (OperatinSystem). [En línea] Disponible en:

<http://www.gsmarena.com/glossary.php3?term=os> [consulta: 10 de Noviembre de

2015]

Page 134: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

REFERENCIAS

136

[12] MARTÍ, Anna. El tamaño importa y la resolución también: éstas son las

tendencias en los smartphones del mundo según Device Atlas. [En línea] Disponible

en: <http://www.xatakamovil.com/movil-y-sociedad/el-tamano-importa-y-la-

resolucion-tambien-estas-son-las-tendencias-en-los-smartphones-del-mundo-segun-

deviceatlas> [consulta: 10 de Noviembre de 2015]

[13] CID, Mikel. La cuota de ventas de iOS en España se resiente a la espera de los

nuevos iPhones según Kantar. [En línea] Disponible en:

<http://www.xatakamovil.com/mercado/la-cuota-de-ventas-de-ios-en-espana-se-

resiente-a-la-espera-de-los-nuevos-iphones-segun-kantar> [consulta: 10 de

Noviembre de 2015]

[14] TOMÁS, Jesús. ¿Qué hace a Android especial? [En línea] Disponible en:

<http://www.androidcurso.com/index.php/tutoriales-android-fundamentos/31-

unidad-1-vision-general-y-entorno-de-desarrollo/97-que-hace-a-android-especial>

[consulta: 11 de Noviembre de 2015]

[15] GCFAprendeLibre. Sistema Operativo móvil iOS. [En línea] Disponible en:

<http://www.gcfaprendelibre.org/tecnologia/curso/ipad/caracteristicas_generales_

del_ipad/3.do> [consulta: 11 de Noviembre de 2015]

[16] Culturacion. iOS: el sistema operativo móvil de apple. [En línea] Disponible en:

<http://culturacion.com/ios-el-sistema-operativo-movil-de-apple/> [consulta: 11 de

Noviembre de 2015]

[17] Actualidad iPhone. iOS. [En línea] Disponible en:

<http://www.actualidadiphone.com/category/ios/> [consulta: 11 de Noviembre de

2015]

[18] Xatakamóvil. De Cupcake a Marshmallow, así han sido las versiones de Android a

lo largo de su historia. [En línea] Disponible en:

<http://www.xatakamovil.com/sistemas-operativos/de-cupcake-a-marshmallow-asi-

han-sido-las-versiones-de-android-a-lo-largo-de-su-historia> [consulta: 12 de

Noviembre de 2015]

[19] Androideity. Arquitectura de Android. [En línea] Disponible en: <http://androideity.com/2011/07/04/arquitectura-de-android/> [consulta: 14 de Marzo de 2016] [20] TOMÁS, Jesús. Arquitectura de Android. [En línea] Disponible en: <http://www.androidcurso.com/index.php/99> [consulta: 14 de Marzo de 2016] [21] CANCELA GARCÍA, Lara; OSTOS LOBO, Sara (Universidad Carlos III de Madrid, Tutorial de Android). Arquitectura Android. [En línea]. Disponible en: <https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-de-android> [consulta: 14 de Marzo de 2016] [22] TOMÁS, Jesús. Ficheros y carpetas de un proyecto Android. [En línea] Disponible en: <http://www.androidcurso.com/index.php/tutoriales-android/31-unidad-1-vision-general-y-entorno-de-desarrollo/148-elementos-de-un-proyecto-android> [consulta: 15 de Marzo de 2016]

Page 135: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

REFERENCIAS

137

[23] LEIRA, Adrián. ¿Cúal es la estructura de un proyecto en Android Studio? AndroidStudioFaqs te lo cuenta. [En línea] Disponible en: <http://androidstudiofaqs.com/conceptos/cual-es-la-estructura-de-un-proyecto-en-android-studio> [consulta: 15 de Marzo de 2016] [24] TOMÁS, Jesús. Componentes de una aplicación. [En línea] Disponible en: <http://www.androidcurso.com/index.php/tutoriales-android-fundamentos/31-unidad-1-vision-general-y-entorno-de-desarrollo/149-componentes-de-una-aplicacion> [consulta: 16 de Marzo de 2016] [25] REVELO, James. ¿Cuáles son los componentes de una aplicación Android? [En línea] Disponible en: <http://www.hermosaprogramacion.com/2014/08/android-app-componentes/> [consulta: 16 de Marzo de 2016] [26] REVELO, James. Utilizar fragmentos en una aplicación Android. [En línea] Disponible en: <http://www.hermosaprogramacion.com/2014/09/android-aplicaciones-fragmento/> [consulta: 16 de Marzo de 2016] [27] Hipertextual. Guía básica para crear aplicaciones de éxito. [En línea] Disponible en: <http://hipertextual.com/presentado-por/appodeal/desarrollo-de-aplicaciones> [consulta: 25 de Mayo de 2016] [28] GÓMEZ, Rubén. 10 trucos para crear apps de Android exitosas. [En línea] Disponible en: <http://googlelizados.com/10-trucos-crear-apps-android-exitosas-01881> [consulta: 25 de Mayo de 2016] [29] CARVAJAL, Héctor. Pasos para crear una app viral y exitosa. [En línea] Disponible en: <http://www.neostuff.net/pasos-para-crear-una-aplicacion-app-viral-y-exitosa/> [consulta: 25 de Mayo de 2016] [30] VERDOY, Álvaro. 10 claves para crear iPhone y Android apps de éxito. [En línea] Disponible en: <http://www.socialancer.com/consejos-para-apps-virales/> [consulta: 25 de Mayo de 2016] [31] DIMAS LUJÁN, José. ¿Qué es una Activity? [En línea] Disponible en: <http://www.desarrolloweb.com/articulos/android-que-es-una-activity-o-actividad.html> [consulta 28 de Marzo de 2016] [32] TOMÁS, Jesús. Diseño personalizado de vistas: Introducción. [En línea] Disponible en: <http://www.androidcurso.com/index.php/tutoriales-android-avanzado/50-unidad-2-diseno-personalizado-de-vistas/368-introduccion> [consulta 28 de Marzo de 2016] [33] REVELO, James. Configurar layouts y views en Android Studio. [En línea] Disponible en: <http://www.hermosaprogramacion.com/2014/09/android-layouts-views/> [consulta 28 de Marzo de 2016] [34] TOMÁS, Jesús. Diseño de la interfaz de usuario: Vistas y layouts. [En línea] Disponible en: <http://www.androidcurso.com/index.php/tutoriales-android-fundamentos/32-unidad-2-diseno-de-la-interfaz-de-usuario-vistas-y-layouts/114-layouts> [consulta 28 de Marzo de 2016]

Page 136: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

REFERENCIAS

138

[35] Android Developers. RelativeLayout. [En línea] Disponible en: <https://developer.android.com/guide/topics/ui/layout/relative.html#Position> [consulta 29 de Marzo de 2016] [36] REVELO, James. Tutorial de Layouts en Android. [En línea] Disponible en: <http://www.hermosaprogramacion.com/2015/08/tutorial-layouts-en-android/> [consulta 29 de Marzo de 2016] [37] Android Developers. ScrollView. [En línea] Disponible en: <http://developer.android.com/intl/es/reference/android/widget/ScrollView.html> [consulta 29 de Marzo de 2016] [38] Android Developers. WebView. [En línea] Disponible en: <http://developer.android.com/intl/es/reference/android/webkit/WebView.html> [consulta 30 de Marzo de 2016] [39] Android Developers. ListView. [En línea] Disponible en: <http://developer.android.com/intl/es/guide/topics/ui/layout/listview.html> [consulta 30 de Marzo de 2016] [40] REVELO, James.Tutorial de listas y adaptadores en Android. [En línea] Disponible en: <http://www.hermosaprogramacion.com/2014/10/android-listas-adaptadores/> [consulta 30 de Marzo de 2016] [41] Android Developers. ExpandableListView. [En línea] Disponible en: <https://developer.android.com/reference/android/widget/ExpandableListView.html> [consulta 30 de Marzo de 2016] [42] Android Developers. Adding the app bar. [En línea] Disponible en: <http://developer.android.com/intl/es/training/appbar/index.html> [consulta 1 de Abril de 2016] [43] Android Developers. Creating a Navigation Drawer. [En línea] Disponible en: <http://developer.android.com/intl/es/training/implementing-navigation/nav-drawer.html> [consulta 1 de Abril de 2016] [44] PÉREZ VALDÉS, Damián. ¿Qué son las bases de datos? [En línea] Disponible en: <http://www.maestrosdelweb.com/que-son-las-bases-de-datos/> [consulta 3 de Abril de 2016] [45] REVELO, James. Tutorial de bases de datos SQLite en aplicaciones Android. [En línea] Disponible en: <http://www.hermosaprogramacion.com/2014/10/android-sqlite-bases-de-datos/> [consulta 5 de Abril de 2016]

[46] SQLite. SQLite. [En línea] Disponible en: <https://www.sqlite.org/> [consulta 5 de abril de 2016]

[47] Wikipedia. SQLite. [En línea] Disponible en: <https://es.wikipedia.org/wiki/SQLite> [consulta 5 de abril de 2016] [48] RÓMMEL, Filein. SQLite: La base de datos embebida. [En línea] Disponible en: <http://sg.com.mx/revista/17/sqlite-la-base-datos-embebida#.VvuhleYr50z> [consulta 5 de abril de 2016]

Page 137: Graduado en Ingeniería de Sistemas Audiovisuales de …ruidera.uclm.es/xmlui/bitstream/handle/10578/11594/TFG... · 2017-06-06 · para su descarga en Google Play y está destinada

REFERENCIAS

139

[49] Sgoliver. Componentes de una aplicación Android. [En línea] Disponible en: <http://www.sgoliver.net/blog/componentes-de-una-aplicacion-android/> [consulta 29 de mayo de 2016] [50] Wikipedia. Google Play. [En línea] Disponible en: <https://es.wikipedia.org/wiki/Google_Play> [consulta 8 de junio de 2016] [51] Qode.pro. Qué es Google Play. [En línea] Disponible en: <http://qode.pro/blog/que-es-google-play/> [consulta 8 de junio de 2016] [52] e-encuesta. Satisfacción del cliente (general). [En línea] Disponible en: <http://www.e-encuesta.com/encuesta/satisfaccion-cliente-general> [consulta 10 de junio de 2016]