Programacion Android Studio
Resumen
En esta memoria se expone y documenta la creación de una APP para Android, la cual
detecta ondas de ultrasonido e indica proximidad a la fuente emisora, además de un
producto o marca asociados a dicha señal acústica.
Para llevar a cabo este proyecto se utilizan diferentes librerías externas, diferente
software para las diversas tareas, se realiza un estudio del consumo de la batería a
causa de diferentes modos de la aplicación y se realiza un estudio acústico para
comprender que rango de frecuencias es capaz de emitir un altavoz convencional, así
como que micrófonos pueden recibir dichas frecuencias mencionadas.
Es necesario el conocimiento de conceptos adquiridos en la ingeniería de sistemas de
telecomunicaciones, imagen y sonido para la comprensión y seguimiento de este
documento.
Respecto a los resultados, se comprueba que la detección es satisfactoria a diversas
distancias, y con diferentes equipos. En el apartado correspondiente se detallan las
pruebas realizadas, junto a los equipos utilizados y los resultados finales. En general,
el resultado es positivo y se encuentra en la aplicación una manera práctica y
novedosa de realizar compras o de facilitar al usuario información concreta sin
necesidad de realizar búsquedas en los buscadores web.
Abstract
This document describes and explains the creation of an APP for Android, which
detects ultrasound waves and indicates proximity to the source, as well as a product or
brand associated to the acoustic signal.
In order to carry out this project, different external libraries are used. Different software
for different tasks. A study of the consumption of the battery is made because of
different modes of the application. An acoustic study is carried out to understand which
frequency range is capable of emitting a conventional loudspeaker, as well as which
microphones can receive said mentioned frequencies.
It is necessary the knowledge of concepts acquired in the engineering of
telecommunications systems, image and sound for the understanding and monitoring
of this document.
Regarding the results, it is verified that the detection is satisfactory at different
distances, and with different equipment. The corresponding section details the tests
performed, together with the equipment used and the final results. In general, the result
is positive and is in the application a practical and novel way to make purchases or
provide the user with specific information without having to search the web search
engines.
Palabras clave
Ultrasonidos, aplicación, smartphone, Android, IOS, batería, dispositivo, detección,
marketing, ventas, XTAudioBeacion, producto, servicio, escucha, actividad,
funcionalidad, usuario.
Keywords
Ultrasound, application, smartphone, Android, IOS, battery, device, detection,
marketing, sales, XTAudioBeacon, Product, service, listening, activity, func
A los que creyeron, a los que estuvieron ...
"Pensar sin aprender es esfuerzo perdido; aprender sin pensar, peligroso".
Confucio
Agradecimientos
A GitHub y Google, fuente de toda sabiduría.
A mi familia, por hacer esto posible.
A mis amigas y amigos, por creer en mí, más de lo que yo creí.
Índice general
Capítulo 1. Introducción ............................................................................................ 1
1.1 Motivación....................................................................................................... 1
1.2 Objetivos......................................................................................................... 2
Capítulo 2. Estado del arte........................................................................................ 3
Capítulo 3. Metodología de trabajo ........................................................................... 4
3.1 Metodología .................................................................................................... 4
3.2 Documentación y planificación ....................................................................... 4
3.3 Ágil.................................................................................................................. 4
3.4 MVP................................................................................................................ 5
3.5 MoSCoW ........................................................................................................ 6
3.6 Gestión del proyecto....................................................................................... 6
3.7 Distribución de tareas ..................................................................................... 7
3.8 Diagrama temporal ......................................................................................... 7
Capítulo 4. Conceptualización y diseño .................................................................... 9
4.1 Mapas mentales ............................................................................................. 9
4.1.1 Bocetos del diseño inicial ......................................................................... 10
4.1.2 Wireframes ............................................................................................... 13
4.1.3 Prototipo ................................................................................................... 18
Capítulo 5. Desarrollo.............................................................................................. 22
5.1 Análisis de requisitos .................................................................................... 29
5.1.1 Requisitos funcionales.............................................................................. 29
5.1.2 Requisitos no funcionales......................................................................... 34
5.2 Estudios Realizados ..................................................................................... 38
5.2.1 Estudio acústico........................................................................................ 39
5.2.2 Estudio con materiales ............................................................................. 46
5.3 Herramientas y dispositivos utilizados.......................................................... 46
5.4 Resultados.................................................................................................... 47
5.4.1 Resultados esperados .............................................................................. 47
5.4.2 Resultados obtenidos ............................................................................... 47
Capítulo 6. Consecuencias para la salud................................................................ 48
Capítulo 7. Conclusiones y propuesta de trabajo futuro ......................................... 49
Capítulo 8. Bibliografía............................................................................................ 50
Capítulo 9. Anexos .................................................................................................. 52
Índice de figuras
Figura 1. Mapa mental v1 de la estructura de la app. .................................................... 9
Figura 2. Mapa mental v2 con la estructura de la app. ................................................ 10
Figura 3. Vistas iniciales que tendría la aplicación....................................................... 11
Figura 4. Vistas Now y Ajustes que tendría la aplicación............................................. 12
Figura 5. Diseño de logos/iconos iniciales de la aplicación. ........................................ 12
Figura 6. Versión 1 de las vistas de la aplicación con Sketch...................................... 14
Figura 7. Versión 2 de las vistas de la aplicación. Actividades del modo auto apagado.
.............................................................................................................................. 16
Figura 8. Versión 2 de las vistas pintadas de la aplicación, actividades con el modo
auto activado. ....................................................................................................... 17
Figura 9. Primer prototipo de la aplicación con MarvelApp.......................................... 18
Figura 10. Muestra las opciones cuando accedemos a una de las imagenes............. 19
Figura 11. Configuración de acciones al crear un rectángulo en la imagen. Pestaña
Hotspot Destination. ............................................................................................. 19
Figura 12. Configuración de acciones al crear un rectángulo en la imagen. Pestaña
Screen Transition. ................................................................................................ 19
Figura 13. Configuración de acciones al crear un rectángulo en la imagen. Pestaña
Action.................................................................................................................... 20
Figura 14. Prototipos creados en MarvelApp. .............................................................. 20
Figura 15. Imágenes del prototipo final con MarvelApp. .............................................. 21
Figura 16. Vista de la pantalla principal del prototipo en la versión web de MarvelApp.
.............................................................................................................................. 21
Figura 17. Selección de pestaña SDK Manager para configurar el SDK..................... 22
Figura 18. Pantalla de configuración de las versiones del SDK de Android. ............... 23
Figura 19. Pantalla de configuración de las herramientas del SDK de Android........... 23
Figura 20. Configuración de componentes adicionales del SDK de Android............... 24
Figura 21. Primer paso para la creación de un proyecto nuevo en Android Studio. .... 25
Figura 22. Pantalla asignación de nombre del proyecto y directorio............................ 25
Figura 23. Pantalla para la selección de la API mínima que soportará la aplicación... 26
Figura 24. Estadística de las versiones utilizadas en la actualidad. ............................ 27
Figura 25. Tipo de actividad se generará por defecto al crear el proyecto. ................. 27
Figura 26. Asignación de nombre a la Actividad principal............................................ 28
Figura 27. Primera imagen tras crear el proyecto en Android Studio. ......................... 28
Figura 28. Pasos de la detección de los XTAudioBeacons (Ultrasonidos). ................. 31
Figura 29. Esquema donde se muestra el flujo de los datos de la funcionalidad Añadir
a favoritos. ............................................................................................................ 33
Figura 30. Pantalla Home con el Modo Auto OFF. ...................................................... 35
Figura 31. Vista de las pantallas cuando el Modo Auto está ON. ................................ 36
Figura 32. Interfazde Firebase. .................................................................................... 36
Figura 33. Vistas del producto detectado..................................................................... 38
Figura 34. Zoom espectro a 20.000kHz. ...................................................................... 41
Figura 35. Información de Play Store sobre Spectrum Analizer. ................................. 41
Figura 36. Información de Play Store sobre Spectrum Analize.................................... 42
Figura 37. Información de Play Store sobre ProSpec Lite. .......................................... 42
Figura 38. Espectro frecuencial del tono s16. .............................................................. 43
Figura 39. Espectro frecuencial del tono s17. .............................................................. 43
Figura 40. Espectro de frecuencias del tono s18. ........................................................ 43
Figura 41. Espectro de frecuencias del tono s19. ........................................................ 43
Figura 42. Espectro de frecuencias del tono s20. ........................................................ 44
Figura 43. Espectro frecuencial del tono s21. .............................................
Figura 44. Espectro de frecuencias del tono s22. ........................................................ 44
Figura 45. Edición de los anuncios insertando el XTAudioBeacon con iMovie............ 45
Índice de tablas
Tabla 1. Diagrama con las funciones realizadas por semanas...................................... 7
0
1
Capítulo 1. Introducción
1.1 Motivación
La creación de una app para Android no es ninguna novedad y cada vez
resulta más complicado ser innovador dentro de este ámbito.
Por otro lado, hoy en día, todas las empresas necesitan tener su propia aplicación
móvil para la venta o gestión de sus productos y servicios. Parece que si no tienes tu
app no existes en el mercado.
Una de las intenciones del proyecto es, intentar unificar compras de varias empresas.
Es decir, liberar al usuario de tener que gestionar las compras de productos de cada
marca con su respectiva aplicación móvil, consiguiendo así una mayor comodidad
para realizar compras o acceder a información muy concreta.
La innovación viene cuando se utiliza el rango de frecuencias conocido como
ultrasonido para despertar una posible compra online en los Smartphone Android.
Para hacer esto posible, el Smartphone del usuario debe encontrarse cerca de un
emisor, en este caso cualquier altavoz convencional servirá. Cuando el usuario
escuche o visualice información sobre un producto o servicio, podrá obtener más
información en su móvil simplemente abriendo la aplicación y detectando la huella
digital insertada previamente en el anuncio.
Si te encuentras en cualquier tienda física, o cerca de ella, desde grandes
supermercados, centros comerciales o pequeñas empresas, puedes detectar las
ofertas de ese momento, día o temporada, sin tener que estar informado previamente
ni tener que estar pendiente de carteles publicitarios, etc.
Esto se pretende conseguir únicamente con un altavoz convencional que realice
funciones de emisor y un Smartphone que será el receptor.
Para conseguirlo se emite un audio que actuará como huella digital, a unas
frecuencias comprendidas entre 16 kHz y 22 kHz.
2
1.2 Objetivos
El principal objetivo de este Trabajo de Fin de Grado es el de elaborar de
principio a fin una aplicación para dispositivo móvil en Android, desde la planificación y
diseño, hasta el desarrollo y lanzamiento, que permita conseguir un aprendizaje de los
procesos que deben cumplirse desde que se tiene una idea general de lo que se
quiere crear hasta que esa idea coge forma y se convierte al final de todas las etapas
en una aplicación disponible en Play Store al alcance de cualquier usuario y
perfectamente funcional.
Por ello, se pretende crear una aplicación para dispositivos Android capaz de
ofrecerte productos dependiendo de lo que el usuario escucha o en el lugar donde se
encuentre.
Cuando el usuario active dicha aplicación, esta deberá detectar un XTAudio, el cual
estará asociado a una única oferta/producto. El usuario visualizará la oferta, pudiendo
omitirla o comprarla. Además, tendrá la opción de añadirla a favoritos en el caso de
que quiera decidirse más tarde. Todo esto se debe conseguir sin la conexión a internet
con excepción de realizar la compra, ya que se redirige a la web oficial de la marca.
Otro de los principales objetivos de un producto de estas características es la forma de
llegar al usuario, implantando una interfaz amigable e intuitiva que permita la facilidad
de uso.
Por otra parte, se realiza un estudio de fiabilidad respecto al consumo de la batería
estando la aplicación en constante escucha.
Para ello, es necesario conseguir realizar la detección de esos audios y contar con una
base de datos donde poder consultar cada huella digital.
En el modo automático, es posible que existe el hándicap, de no tener un correcto
funcionamiento de la aplicación por llevar el Smartphone en los bolsillos de los
pantalones, bolsos o metidos en algún lugar similar. Se realizará un estudio para
comprobar si los XTaudio consiguen penetrar diferentes tejidos.
3
Capítulo 2. Estado del arte
En cuanto a la historia de la tecnología utilizada, Google adquiere Android Inc.
en el año 2005. Se trataba de una pequeña compañía, recién creada, orientada a la
producción de aplicaciones para dispositivos móviles. Ese mismo año, se empieza a
trabajar en la creación de una máquina virtual Java optimizada para móviles (Dalvik
VM).
En el año 2007 se crea el consorcio Handset Alliance con el objetivo de desarrollar
estándares abiertos para móviles. Está formado por Google, Intel, Texas Instruments,
Motorola, T-Mobile, Samsung, Ericson, Toshiba, Vodafone, NTT DoCoMo, Sprint
Nextel, etc. Uno de los objetivos principales de esta alianza es promover el diseño y
difusión de la plataforma Android. Sus miembros se han comprometido a publicar una
parte importante de su propiedad intelectual como código abierto bajo licencia Apache
v2.0.
En noviembre de 2007 se lanza una primera versión del Android SDK. Tras un año,
aparece el primer dispositivo móvil con Android (T-Mobile G1). En octubre, Google
libera el código fuente de Android, principalmente bajo licencia de código abierto
Apache (licencia GPL v2 para el núcleo). Ese mismo mes se abre Android Market,
para la descarga de aplicaciones. En abril de 2009, Google lanza la versión 1.5 del
SDK, que incorpora nuevas características como el teclado en pantalla. A finales de
2009 se lanza la versión 2.0 y a lo largo de 2010, las versiones 2.1, 2.2 y 2.3.
Durante el año 2010, Android se consolida como uno de los sistemas operativos para
terminales móviles más utilizados, con resultados proóximos a iOS e incluso
superando al sistema de Apple en EE.UU.
En el año 2011 se lanza la versión 3.x (Honeycomb), específica para tablets, y la 4.0
(Ice Cream Sandwich), tanto para móviles como para tablets. Durante ese año,
Android se consolida como la plataforma para smartphones más importante y alcanza
una cuota de mercado superior al 50%.
En 2012, Google cambia su estrategia en su tienda de descargas online,
reemplazando Android Market por Google Play Store, donde en un solo portal unifica
tanto la descarga de aplicaciones como la de contenidos. Ese año aparecen las
versiones 4.1 y 4.2 (Jelly Bean). Android mantiene su espectacular crecimiento y
alcanza, a finales de año, una cuota de mercado del 70 %.
En 2013 se lanzan las versiones 4.3 y 4.4 (KitKat). En 2014 se lanza la versión 5.0
(Lollipop). A finales de ese año, la cuota de mercado de Android llega al 85 %.
En octubre de 2015 ha aparece la versión 6.0, con el nombre de Marshmallow.
En la actualidad está establecida la versión 7.0 llamada Nougat desde finales del
2016.
Cada versión de Android lleva asociado un nombre se elige en orden alfabético (en
Ingles) y está asociado a un dulce que es su logotipo correspondiente.
4
Capítulo 3. Metodología de trabajo
En este apartado se detalla la organización seguida para el desarrollo del
trabajo de final de grado así con los tiempos empleados en cada tarea y las personas
involucradas para su realización.
3.1 Metodología
Para la realización del proyecto se va a seguir una metodología ágil. Se ha elegido utilizar este
tipo de metodologías para poder presentar la aplicación con su funcionalidad principal bien implementada
y posteriormente se añaden diferentes funcionalidades interesantes para una mejor experiencia de usuario.
Se decide seguir esta metodología porque se entiende que un proyecto de este tipo siempre puede
mejorarse, hacerlo más eficiente o añadir posibles usos que el usuario pueda darle.
Con esto, se consigue centrarse en el objetivo principal y no intentar abarcar muchas utilidades que quizá
a la larga no tengan mucho sentido o no se le den uso.
3.2 Documentación y planificación
Para empezar, se llevó a cabo una reunión, donde se especificaba que debería
hacer la aplicación y cuáles eran las funcionalidades que debía tener.
Se investigó sobre la parte acústica del proyecto, y sobre las ondas ultrasónicas que
se deberían detectar.
En la parte tecnológica, se realizó un curso básico pero completo de Android facilitado
por desarrolladores expertos de la empresa Everis Spain.
En cuanto a la planificación, se realizó un esquema general donde se organizaban las
tareas, desde el diseño inicial hasta el lanzamiento de la app en Play Store o Markets
alternativos.
Para optimizar los tiempos y ajustarse al plazo de entrega se siguen las siguientes
metodologías:
- Ágil
- MVP
- MoSCoW
3.3 Ágil
Metodología de trabajo que adapta la forma de trabar a las condiciones que el
proyecto requiere consiguiendo flexibilidad para poder cumplir con plazos de entrega
incluso si estos se adelantan o retrasan en el tiempo por cualquier tipo de
circunstancia. Además, este método, consigue reducir costes e incrementar la
productividad de las empresas.
Todo esto, se traduce en una mejor satisfacción por parte del cliente, ya que no debe
esperar a ver el resultado final, si no que va viendo su evolución en los plazos
marcados previamente entre cliente y empresa. También tiene la ventaja de que el
5
cliente pueda opinar en cada plazo y poder decidir un cambio que será más sencillo de
solucionar en dicho momento que cuando todo el proyecto esté terminado.
Resumiendo, es bueno para todas las partes, la empresa reduce costes e incrementa
la productividad, los desarrolladores encuentran una motivación cuando consiguen
terminar llegar a su objetivo en cada plazo y el cliente percibe que se está realizando
el trabajo por el cual ha pagado y puede conseguir un proyecto con el que estar más
contento y de mayor calidad.
3.4 MVP
MVP (Minimum Viable Product), que traducido al castellano es Producto Viable
Mínimo. Es la versión de un nuevo producto que permite recolectar, con el menor
esfuerzo posible, teniendo solamente aquellas funcionalidades que permiten que el
producto sea lanzado y la máxima cantidad de conocimiento validado sobre sus
potenciales clientes.
Existen dos tipos de MVP:
1. Validando el clásico MVP, que consiste en aproximarse a clientes potenciales e
intentar venderles un producto que aún no existe, si su respuesta es positiva,
se ha alcanzado el éxito y en caso contrario no significa que se haya
fracasado. Un claro ejemplo es el video Digg para Dropbox de Drew Houston
en marzo de 2008, generando 70K inscripciones para un producto que no
había sido lanzado aún. Un fallo de esta prueba no necesariamente significaría
que Dropbox no funcionaría, podría significar que el umbral de calidad era
mayor de lo esperado, o que los usuarios de Digg no eran los primeros clientes
ideales, o que algún otro evento de noticias había distraído a los usuarios de
ver o compartir el video. Independientemente, el fracaso de su validación MVP
sólo invalida una pequeña forma de adquirir clientes, con un video en Digg, no
todo el modelo de negocio.
2. Invalidando el MVP conserje o Mago de Oz, al caer en que se crea un producto
mejor a un coste insostenible al personalizarlo para cada cliente. Es hora de
seguir adelante si no se puede lograr que la gente pague un precio realista a
largo plazo por un producto mejor. Jennifer Hyman y Jennifer Fleiss
comenzaron Rent the Runway con este enfoque: proporcionaron un servicio de
alquiler de vestidos en persona donde los estudiantes universitarios podían
probar vestidos antes de alquilarlos, una experiencia mucho mejor que el
alquiler en línea. Si nadie hubiese alquilado esa noche, habrían creído que el
alquiler en línea no merecería la pena. Pero el 34% (y luego el 75%) de las
mujeres alquiló, por lo que pasaron a validando un MVP, donde el 5% de 1.000
mujeres de su lista de correo alquiló vestidos de un PDF por correo electrónico.
Aplicándolo a este proyecto, validando el MVP consistía en una app con la única
función de detectar sonido ultrasónico, por su innovación.
Invalidando el MVP residió en planificar por funcionalidades, es decir hasta que no
estuviese funcionando correctamente la detección no se continuaba a implementar la
siguiente. Como se ha comentado la más importante era la detección, luego se
continuo por realizar una vista de favoritos, y continuando hasta que el plazo de
entrega finalizó
6
Se optó por esta manera, ya que esto permitía tener una estructura de un producto
que funcionase constantemente, empezando por la función con mayor potencial y
terminando por añadir funciones extra.
3.5 MoSCoW
El método MoSCoW es una técnica de priorización de requisitos basada en el
hecho de que, aunque todos los requisitos se consideren importantes es fundamental
destacar aquellos que permiten darle un mayor valor al sistema, lo que permite enfocar
los trabajos de manera más eficiente.
Lo que la diferencia de otras técnicas tradicionales como por ejemplo calificar los
requisitos como de prioridad alta, media o baja es que en este caso la escala utilizada
tiene un significado intrínseco, de manera que el usuario responsable de asignar la
prioridad conoce el efecto real que producirá su elección.
M (Must): Requisito que tiene que estar implementado en la versión final del producto
para que la misma pueda ser considerada un éxito.
S (Should): Requisito de alta prioridad que en la medida de lo posible debería ser
incluido en la solución final, pero que llegado el momento y si fuera necesario, podría
ser prescindible si hubiera alguna causa que lo justificara.
C (Could): Requisito deseable pero no necesario, se implementaría si hubiera
posibilidades presupuestarias y temporales.
W (Won’t): Hace referencia a requisitos que están descartados de momento pero que
en un futuro podrían ser tenidos de nuevo en cuenta y ser reclasificados en una de las
categorías anteriores.
Esta clasificación puede ser modificada durante el proceso de desarrollo y definirse, en
el caso de desarrollos iterativos incrementales, prioridades a nivel de iteración.
Resumiendo, junto con el cliente, se asigna una prioridad a cada requisito en cada
plazo de entrega para que el proyecto cumpla las expectativas mínimas que exige el
cliente y posteriormente poder implementar funcionalidades extra que le puede dar al
proyecto un valor añadido.
3.6 Gestión del proyecto
El proyecto se ha gestionado por Ángel Pozo Puchalt, como estudiante de la
Universidad Politécnica de Valencia desde las oficinas de Madrid de Everis Spain
S.L.U.
Para llevar a cabo este trabajo, ha sido necesaria la ayuda:
- Profesores UPV:
- José Marín Roig. Asesor.
- Paco Camarena. Tutor del TFG.
- Gabriel Moreno Ibarra. Cotutor del TFG.
- Compañeros Departamento Digital Experience Everis Spain:
- Santiago Santamaria. Gerente.
- Estefanía Riera. Diseñadora de apps.
- Jose Luis Hurtado. Desarrollador Senior.
7
- Ricardo Martin Blanco. Becario.
- Jose Javier Montes Romero. Desarrollador junior.
3.7 Distribución de tareas
Las tareas las distribuye el estudiante, siendo aconsejado por las personas
citadas anteriormente.
En términos generales y de manera inicial se marcan los siguientes tiempos:
DISEÑO FUNCIONAL Y DISEÑO TÉCNICO (será parte de la memoria del TFG) (16%)
- Concebir las especificaciones del proyecto que cubran las necesidades del sistema
(40 horas).
- Diseño del software. (40 horas)
CONSTRUCCIÓN/PRUEBAS UNITARIAS (40%)
- Programación del software. (150 horas)
- Implementación del sistema completo. (50 horas)
PRUEBAS INTEGRADAS (20%)
- Evaluación de todo el sistema y corrección de errores. (100 horas)
DOCUMENTACIÓN MEMORIA / DEMO (24%)
- Redacción de la memoria del trabajo fin de grado. (100 horas)
- Demo de presentación (20 horas)
Total: 500 horas
Como se indica anteriormente, la distribución es aproximada y tras realizar todas las
tareas, se realiza el diagrama del siguiente apartado mostrando gráficamente la
duración por semanas de cada punto clave del proyecto. El total de horas
8
En el mes de abril, se aprecia que las primeras dos semanas se dedican a la elección
del tema para el trabajo de final de grado. En este periodo reflexiono sobre cuál de los
diversos proyectos que tengo en mente llevar a cabo. Los dos que más me motivaban
eran:
- Aplicación para la detección de impacto en vehículos estacionados.
- Aplicación capaz de detectar ultrasonidos.
Decidí elegir la segunda opción porque encontré la empresa donde desarrollarlo y
adquirir mayores cualidades en un entorno de trabajo real.
Las siguientes dos semanas me incorporé a la empresa, conocí el funcionamiento
interno de la misma y estuve investigando sobre el tema. Además, comencé a repasar
los lenguajes de programación que se iban a utilizar y realicé un curso muy completo
sobre Android para ponerme en situación de lo que iba a tener que utilizar.
Realmente es en el mes de mayo cuando comienzo a decidirle tiempo al inicio de la
creación de la aplicación. Decido dedicarle aproximadamente dos semanas para la
estructura que va a seguir la aplicación, para hacerla lo más sencilla e intuitiva posible
para el usuario.
Al diseño le he dedicado un mes, para decidir el diseño final que tendrá, ya que le doy
mucha importancia a la parte gráfica y los detalles que pueda tener para impactar
visualmente.
La parte de desarrollo se divide en dos partes, con estudio me refiero a toda la
investigación que he tenido que hacer y la información que he tenido que buscar para
conseguir que funcionase cada requisito de la manera esperada. Con producción me
refiero a escribir literalmente el código. Se puede observar que, desde el principio
hasta el final, ambas tareas han ido prácticamente ligadas, y esto tiene sentido, ya que
anteriormente nunca había realizado un proyecto parecido y debía documentarme
para avanzar en cada cosa por pequeña que fuera.
El siguiente bloque, pruebas y lanzamiento, con pruebas me refiero al tiempo que se
ha probado la aplicación con la mayoría de funcionalidades implementadas y cómo se
comportaban con el código más complejo cada vez. Y con lanzamiento quiero decir la
elección del repositorio/market donde subir la aplicación, así como la subida como tal
de la apk de la aplicación, y el proceso de distribución de la misma.
Como es lógico, la memoria de este proyecto se decide empezarla casi al final. En mi
caso, decido hacerlo de este modo para afianzar cada uno de los conceptos y
métodos que se utilizan a lo largo de la creación de la aplicación y tener una visión
más general del trabajo realizado.
9
Capítulo 4. Conceptualización y diseño
Este paso previo a la programación, es de vital importancia ya que nos ayuda a
definir mejor la app tanto visualmente como por la parte de funcionalidad y acabado
final de la mima.
Los pasos seguidos fueron:
1. Realización de un esquema con BUBBL.US (https://bubbl.us), para obtener un
mapa mental de todas las funcionalidades de la app, y también para hacerse la
idea del Customer Journey (la experiencia del cliente que se quiere alcanzar)
2. Una vez que se tiene un esquema general, se empieza a dibujar las pantallas
con papel y lápiz, sin focalizarse en detalles como iconos, imágenes o textos.
3. Cuando se tiene el número de pantallas previamente dibujadas, se empieza a
hacer wireframes con SKETCH.
4. Una vez ya tengamos definidos los wireframes anteriores, se realiza un
prototipo para ver el resultado final de cómo debe ser la app. En este caso se
exportan los diseños a MarvelApp y se les da vida a las pantallas.
4.1 Mapas mentales
Como primera idea se pensó en el siguiente mapa.
Figura 1. Mapa mental v1 de la estructura de la app.
Tras revisarlo con diseñadores y desarrolladores, se decidió realizar varios
cambios, quedando el siguiente mapa.
10
Figura 2. Mapa mental v2 con la estructura de la app.
Las diferencias entre ambas figuras, son realizadas para una mejor experiencia de
usuario, para hacer la aplicación más intuitiva y más fácil de manejar. Por otro lado,
también el mapa mental sufre cambios por motivos de las llamadas guías de estilo de
Android.
Las guías de estilo son documentos donde se indica el formato y el diseño que deben
tener por lo general las aplicaciones de Android.
Esto fue un reto para mí, porque soy usuario de iOS desde 2008, con lo cual, tuve que
investigar y aprender cómo era el funcionamiento de las aplicaciones en Android, las
partes de la pantalla, la función de cada botón, los gestos más comunes, donde
colocar el menú y los ajustes, el botón atrás, etc.
Junto a la ayuda de diseñadores de aplicaciones de la empresa, se decidió la versión
2 como esquema general para estructurar todas las funcionalidades que tenía
pensadas que debía tener la aplicación y tenerlo bien organizado.
4.1.1 Bocetos del diseño inicial
Siguiendo el consejo de los diseñadores se dibujó una serie de pantallas con
sus estructuras generales y posibles logo de la aplicación.
En la siguiente figura se observan cuatro de las seis vistas pensadas para la visual de
la aplicación.
11
Se puede observar que la idea es tener un registro del usuario y posteriormente una
pantalla principal donde tener diferentes modos junto a las últimas ofertas detectadas.
En la vista ofertas se aprecia una Card que dependiendo hacia donde la mueves
aceptas o rechazas el producto junto a unos botones de compartir y más información.
En la siguiente imagen se encuentran las vistas restantes.
Figura 3. Vistas iniciales que tendría la aplicación.
12
Se observa una vista Now la cual al presionar en el centro de la pantalla empezaría la
detección junto a un botón de menú y una barra inferior con diferentes opciones de
navegación entre actividades.
En la vista de Ajustes se encuentras las opciones futuras que podría tener la
aplicación.
En esta última figura se decide mostrar el aspecto inicial que iba a tener el logo o icono
de la aplicación. Como se ven en las figuras anteriores, en un primer se pensó en
llamar a la aplicación UltraMarkt por los ultrasonidos y la parte de marketing que tiene,
por ese motivo en los siguientes logos se juega, tanto con el nombre como con las
iniciales.
Figura 4. Vistas Now y Ajustes que tendría la aplicación.
Figura 5. Diseño de logos/iconos iniciales de la
aplicación.
13
Además de intentar darle sentido con el nombre y sus iníciales, se intenta jugar con el
murciélago por dos motivos, es el animal que representa a mi ciudad de origen
además de que concretamente los murciélagos utilizan los ultrasonidos para orientarse
y gracias a que estas ondas se reflejan en su entorno tienen la manera de percibir
objetos u obstáculos, resumiendo es si forma de ver.
4.1.2 Wireframes
Llegados a este punto la siguiente tarea consiste en digitalizar las ideas
previamente expuestas. Para ello se crea un proyecto con Sketch. En este proyecto se
deben dibujar todas las vistas pensadas e introducir mejoras siempre que sea posible.
En esta etapa se observa que si volvemos a los mapas mentales de las figuras 1 y 2 la
estructura se muestra cambiante entre la versión del mapa uno y la versión del mapa
dos.
Esto es normal, porque mientras avanza el proyecto se va revisando y comprobando
cual es la mejor forma de implementar las cosas tanto por la parte de desarrollo como
para la parte de experiencia al usuario.
En la siguiente figura se observa las vistas pintadas del proyecto mencionado en su
primera versión.
14
Figura 6. Versión 1 de las vistas de la aplicación con Sketch.
15
Una vez, la aplicación ya va cogiendo forma y mayor organización entre vistas, se
decide cambiar el diseño para una experiencia mejor por parte del usuario, más
llamativa, más moderna y sobre todo más cercana a los estilos de Android llamados
Material Desing. Estos modelos son guías que te indican como tienes que ser los
textos los iconos, donde debe ir el menú, como deben interactuar entre sí las vistas,
etc.
Esta parte, para mí fue bastante tediosa y tuve que hacer un ejercicio de investigación
importante, porque yo desde 2008 con la salida del iPhone 3G, no había utilizado un
Smartphone con sistema operativo Android, es decir, nunca.
Así que desde la primera versión pintada hasta la final iba conociendo nuevas partes
de las pantallas de Android, lo que se podía y no se podía utilizar, básicamente por la
parte de la programación, porque Android para eso es bastante permisivo, permite
cualquier estilo que se desee. Pero las ActionBars y las NavgationBars Android
siempre las tiene muy presentes y hay que utilizarlas en muchos casos para ciertas
acciones.
Como resultado de este ejercicio en las siguientes imágenes se muestran las vistas
pintadas en formato digital las cuales formaran parte del prototipo explicado más
adelante.
16
Figura 7. Versión 2 de las vistas de la aplicación. Actividades del modo auto apagado.
17
En las figuras 7 y 8 se muestran las vistas tanto con el Modo Auto activado como en
modo desconectado. La diferencia principal es que la StatusBar que es la barra
superior del sistema operativo cambia de color para alertar al usuario de que esta
función esta actividad. El icono del micrófono de la pantalla principal también cambia y
para que el usuario sepa que tanto desde ahí como del menú que aparece por la parte
de la izquierda se puede encender y apagar esta funcionalidad.
Figura 8. Versión 2 de las vistas pintadas de la aplicación, actividades con el modo auto
activado.
18
4.1.3 Prototipo
Es este apartado se muestran los proyectos creados con MarvelApp para
diseñar el prototipo que en un proyecto real se enseñaría al cliente previamente a la
contratación del servicio y este se hiciese una idea del resultado final.
Para llevar a cabo este proyecto se utilizan las vistas pintadas con Sketch de los
Wireframes explicados en los puntos anteriores.
Con este paso, lo que se consigue es dotar de movimiento a las imágenes dando un
efecto similar al que tendría la aplicación una vez estuviese implementada con código.
Es importante remarcar que el prototipo no tiene nada de código detrás, únicamente a
cada vista se le indica que acción realizar cuando el usuario toque en ciertas partes de
la pantalla.
Las acciones siempre serán navegar a otras imágenes insertada en el proyecto y se
pueden personalizar los lugares donde el cliente puede interactuar y la transición entre
imágenes que se desea para dotar de más realismo la demostración.
MarvelApp dispone de página web donde se puede realizar todo el prototipo.
En primer lugar, se exportan las vistas diseñadas con Sketch y posteriormente se
suben a la web de MarvelApp para indicarlas las acciones explicadas.
En la siguiente imagen se muestra el primer prototipo con algunas de las vistas que se
utilizan.
Como se observa se cargan las imágenes, y se exportan en el mismo tamaño que le
indicamos que debía tener en Sketch y los mismos títulos para tener una mayor
organización. En este caso no es necesario, pero en proyectos reales en este proyecto
podemos encontrar cientos de imágenes y puede suponer una labor bastante
complicada.
La primera imagen es donde subimos el diseño que tendrá el icono de la aplicación.
Esto le da un valor añadido porque estos prototipos a través de un link se pueden
visualizar en los smartphones independientemente sean Android o IOs, y pueden
Figura 9. Primer prototipo de la aplicación con MarvelApp.
19
quedar más reales creando un acceso directo al link en los móviles. Haciendo esto,
MarvelApp utiliza la imagen llamada App icon como simulación del icono.
Cuando se accede a una de las imágenes se visualiza lo mostrado en la Figura 10.
Aquí se puede fijar los márgenes de la pantalla con Fixed header y con Fixed Footer.
Con esto, podemos crea sensación de scroll en cuando el cliente este navegando por
esta vista, siempre y cuando la imagen sea más larga que el tamaño del dispositivo.
Con el botón Play una vez tenemos todo configurado se visualiza como ha quedado la
simulación.
Dicha simulación se consigue seleccionando diferentes partes de la imagen median
recuadros dibujados por nosotros mismos para seleccionar toda la zona que realizar la
transición.
En la figura 11 se ve la pestaña de Hotspot Destination en la cual se elige la imagen a
la que se navega al hacer click en la zona seleccionada.
Figura 10. Muestra las opciones cuando accedemos a una de las imagenes.
Figura 11. Configuración de acciones al crear un rectángulo en la imagen. Pestaña Hotspot
Destination.
Figura 12. Configuración de acciones al crear un rectángulo en la imagen. Pestaña Screen
Transition.
20
En la figura 12 se muestra la pestaña de Screen transition. Aquí se le indica que efecto
se utiliza cuando se lleva a cabo la transición.
Figura 13. Configuración de acciones al crear un rectángulo en la imagen. Pestaña Action.
En esta figura 13, se visualiza los tipos de acciones que puede realizar el cliente sobre
la pantalla y cuando se realice el seleccionado la transición se hará efectiva.
Una vez explicado el funcionamiento de esta herramienta, es necesario explicar que
las imágenes son del prototipo versión 1. Por cada, wireframe se realizó un prototipo
para tener más claro cuál sería el resultado final.
En la siguiente figura se muestran los dos proyectos que albergan los dos prototipos.
programacion de android studio 2018
programacion de android studio 2018

Comentarios
Publicar un comentario