scieee Open visual document viewer

Aplicación móvil para la monitorización del ejercicio físico

Cárdenas Jiménez, Adrián

Abstract

Este trabajo abarca el desarrollo de una aplicación para el entorno Android que, usando dispositivos de bluetooth de bajo consumo permite a los usuarios monitorizar su actividad física para analizar su progreso. La aplicación cuyo nombre es “BeFit” tiene como objetivo facilitar a las personas el uso de una aplicación común para muchos dispositivos de bluetooth de bajo consumo. La información que recogen los dispositivos se almacena en el smartphone para ser mostrada y analizada. Si el tipo de datos es más complejo la aplicación decidirá de almacenarlos en una base de datos empotrada. Incluso, alguna información personal puede añadirse sin que sea sincronizada de ningún dispositivo. Esto facilitará a las personas la personalización y la integración en “BeFit”, añadiendo datos como el peso o la altura. La aplicación Android permitirá escanear los dispositivos cercanos y sincronizarlos para que se muestre la información correspondiente de éstos. Además, contará con el apoyo de gráficas que ayuden visualmente al usuario mostrando un histórico de los datos que se almacenan dentro de la aplicación.

Full text

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA GRADO EN INGENIERÍA DEL SOFTWARE Aplicación mó il pa a la moni o ización del eje cicio ísico A Mobile-App o Physical exe cise moni o ing Realizado po Ad ián Cá denas Jiménez Tu o izado po Edua do Guzmán de los Riscos Me cedes Amo Pinilla Depa amen o Lenguajes y Ciencias de la Compu ación UNIVERSIDAD DE MÁLAGA MÁLAGA, JUNIO DE 2018 Fecha de ensa: El Sec e a io del T ibunal Resumen Es e abajo aba ca el desa ollo de una aplicación pa a el en o no And oid que, usando disposi i os de blue oo h de bajo consumo pe mi e a los usua ios moni o iza su ac i idad ísica pa a analiza su p og eso. La aplicación cuyo nomb e es “BeFi ” iene como obje i o acili a a las pe sonas el uso de una aplicación común pa a muchos disposi i os de blue oo h de bajo consumo. La in o mación que ecogen los disposi i os se almacena en el sma phone pa a se mos ada y analizada. Si el ipo de da os es más complejo la aplicación decidi á de almacena los en una base de da os empo ada. Incluso, alguna in o mación pe sonal puede añadi se sin que sea sinc onizada de ningún disposi i o. Es o acili a á a las pe sonas la pe sonalización y la in eg ación en “BeFi ”, añadiendo da os como el peso o la al u a. La aplicación And oid pe mi i á escanea los disposi i os ce canos y sinc oniza los pa a que se mues e la in o mación co espondien e de és os. Además, con a á con el apoyo de g á icas que ayuden isualmen e al usua io mos ando un his ó ico de los da os que se almacenan den o de la aplicación. Lis a de palab as cla e And oid, aplicación mó il, sma phone, Blue oo h Low Ene gy, Xiaomi MiBand2 Abs ac This p ojec co e s he de elopmen o an applica ion o he And oid en i onmen ha , using Blue oo h Low Ene gy de ices, allows use s o moni o hei physical ac i i y and analyze hei p og ess. The pu pose o he applica ion whose name is “BeFi ” is o acili a e he use o a common applica ion o many Blue oo h Low ene gy de ices. The in o ma ion collec ed by he de ices is s o ed in he sma phone o be displayed and analyzed. I he da a ype is complex, he applica ion will decide o s o e hem in o an embedded da abase. In addi ion, some pe sonal in o ma ion can be added wi hou being synch onized om any blue oo h de ice. This will make i easie o people o pe sonalize and in eg a e in “BeFi ” adding da a such as weigh o heigh . The And oid applica ion will scan nea by de ices and synch onize hem so ha he co esponding in o ma ion is displayed. Also, i will be suppo ed by g aphics ha isually help he use by displaying a his o y o he da a ha a e s o ed wi hin he applica ion. Keywo ds And oid, mobile applica ion, sma phone, Blue oo h Low Ene gy, Xiaomi MiBand2 Índice 1. In oducción_________________________________________1 1.1. In oducción y mo i aciones_________________________1 1.2. Obje i os________________________________________2 1.3. Aplicaciones en el me cado__________________________2 1.4. Me odología_____________________________________3 1.5. Es uc u a de la memo ia___________________________4 2. El en o no And oid____________________________________7 2.1. In oducción a And oid_____________________________7 2.2. Un sis ema ope a i o muy pa icionado________________8 2.3. La a qui ec u a del sis ema ope a i o_________________12 2.3.1. Ke nel de Linux______________________________12 2.3.2. Capa de Abs acción de ha dwa e (HAL)__________12 2.3.3. And oid Run ime (ART)________________________13 2.3.4. Biblio ecas C/C++ na i as______________________14 2.3.5. Ja a API F amewo k__________________________14 2.3.6. Aplicaciones del sis ema_______________________15 2.4. Ciclo de ida de una aplicación And oid_______________17 3. Blue oo h Low Ene gy________________________________19 3.1. ¿Qué es el Blue oo h? ____________________________19 3.2. ¿Qué es el Blue oo h Low Ene gy? __________________19 3.3. GAP (Gene ic Access P o ile) ______________________20 3.4. Fo mas de comunicación__________________________20 3.5. ¿Qué es el GATT? _______________________________21 3.6. La opología de la ed con GATT____________________23 3.6.1. Se icios ___________________________________25 3.6.2. Ca ac e ís icas ______________________________26 4. Recu sos y he amien as u ilizadas______________________27 4.1. Xiaomi mi band 2________________________________27 4.2. Beas Senso ___________________________________27 4.3. HTC U Ul a ____________________________________28 4.4. HTC Desi e 820_________________________________29 4.5. And oid S udio___________________________________29 4.6. Gi Hub ________________________________________30 4.7. Magicd aw______________________________________30 5. Análisis de equisi os_________________________________31 5.1. Iden i icación de ac o es___________________________31 5.2. Casos de usos __________________________________31 5.3. Requisi os uncionales ____________________________33 5.4. Requisi os no uncionales _________________________35 6. Diseño e implemen ación _____________________________37 6.1. P o o ipado de la aplicación________________________ 37 6.2. Diag ama de ac i idad ____________________________39 6.3. Aplicación ______________________________________39 6.3.1. Diseño de la in e az__________________________39 6.3.2. Desa ollo de la aplicación _____________________43 6.4. Diag amas de secuencia __________________________47 7. Man enimien o y p uebas _____________________________51 7.1. Man enimien o __________________________________51 7.2. P uebas de la aplicación___________________________52 8. Conclusiones y líneas u u as__________________________55 8.1. Di icul ades encon adas___________________________55 8.2. Obje i os supe ados______________________________56 8.3. Líneas u u as___________________________________56 9. Bibliog a ía_________________________________________59 Página 7 de 60 Capí ulo 2 El en o no And oid 2.1. In oducción a And oid And oid es un sis ema ope a i o pa a disposi i os mó iles que ocupa ce ca del 80% de cuo a de me cado. Su i al di ec o es iOS con una cuo a de menos de un 20% del me cado. En e ambos se epa en casi odo el me cado de los sma phones. En la siguien e igu a podemos e la gigan esca e olución de And oid en los úl imos años. Ilus ación 1. E olución del me cado mó il. Fuen e: S a Coun e Lo desa olló And oid Inc., emp esa que comp ó Google. Se desa olló bajo el ke nel de Linux. Una g an en aja que iene es que se dis ibuye un sis ema ope a i o ac ualizable y muy lexible. Después del éxi o que u ie on los disposi i os con BlackBe y, Google desa olló un p o o ipo pa ecido a es os. Pe o después del lanzamien o al me cado de iPhone, Google u o que ediseña su disposi i o. Todo es o ocu ió en e 2006 y 2007. A inales de 2008 se p esen ó el p ime disposi i o And oid HTC D eam. A pa i de en onces es de sob a conocido lo sucedido con BlackBe y y con los disposi i os con iOS. Página 8 de 60 2.2. Un sis ema ope a i o muy pa icionado Una de las des en ajas muy g andes que iene And oid es la can idad de e siones con las que cuen a. Nació con la p omesa de se un sis ema ope a i o ácilmen e ac ualizable, pe o los ab ican es han ap o echado el sis ema ope a i o como una en aja más a la ho a de come cializa los sma phones. Es po es o po lo que con amos en el me cado con muchas e siones de And oid. Pasa emos en onces a habla de las di e en es e siones de And oid cen ándonos en las que usa emos en el desa ollo de la aplicación. Como emos en la siguien e imagen más del 80% de los disposi i os pe enecen a Lollipop (And oid 5.0), Ma shmallow (And oid 6.0), Nouga (And oid 7.0) y O eo (8.0). Debido a ello usa emos es as e siones pa a el desa ollo. Ilus ación 2. Pa icionamien o de e siones de And oid. Fuen e: De elope And oid - And oid 1.x se in odujo en las p ime as aplicaciones. Den o de ellas ya se empezó a usa el ha dwa e con a qui ec u a ARM. A pa i de la e sión de And oid 1.5 (Cupcake) nació la adición de pone le nomb e de dulces a las e siones del sis ema ope a i o. Todas las e siones se cen a on en co egi e o es y mejo a algunos p oblemas. - And oid 2.x, a pa i de es as e siones supuso el c ecimien o gigan esco de And oid. Incluían mejo as como el sopo e de HTML5, NFC o inco po ó Página 9 de 60 el amoso Google Maps. Además, Google lanzó su amosa se ie de elé onos Nexus (Nexus One). - And oid 3.x, mejo llama la la desconocida debido a que ue lanzada pa a able s con un ediseño de la in e az g á ica. Se incluye on no edades como el sopo e de p ocesado es mul inúcleo o la amosa ba a con los bo ones de na egación en la pa e in e io , en ez de los bo ones ísicos. - And oid 4.x, el nacimien o de la e a mode na de And oid. Después de And oid 2.3 (Ginge b ead) ue la p ime a ac ualización pa a los disposi i os mó iles. • Supuso el lanzamien o de los p ime os disposi i os con esolución 720p (HD), a pa i de ahí ue c eciendo la esolución a un i mo e iginoso. • Fue la úl ima e sión en da sopo e a Adobe Flash. • Conlle o g andísimas mejo as de endimien o. And oid an e io men e es aba comple o de animaciones, los ingenie os de Google se es o za on po que uesen a 30 ps ( o og amas po segundo) odas ellas. • Además, se in odujo Google Now, pe o algo aún básico compa ado a lo que hoy en día puede llega a engloba . Se lanzó como la g an mejo a del sis ema ya que in oducía la búsqueda p edic i a. • Fue el inal del diseño T on que acompañaba a And oid desde sus p ime as e siones. • Se in odujo ART como sus i u o de Dal ik. ART inco po aba compilación an icipada y mejo aba el endimien o que o ecía Dal ik. - And oid 5.x, el lanzamien o más ompedo e impo an e de la his o ia de And oid. • Lo más impo an e de es e lanzamien o ue el desa ollo de “Ma e ial Design”. Es a con emplaba una se ie de pau as pa a el desa ollo de in e aces g á icas. Se e isó po comple o la IU po comple o del sis ema ope a i o. • In oduje on el sis ema “de elope p e iew” que pe mi ía dispone de la nue a e sión del sis ema ope a i o en o ma de be a meses an es de su lanzamien o. Página 10 de 60 • Se sus i uyo o icialmen e Dal ik po ART. • Se in oduce además el sopo e pa a p ocesado es de 64 bi s. • Se e isa on muchas de las aplicaciones p ede e minadas que aía el sis ema ope a i o. • Se in odujo el econocimien o de oz pe manen e. Los usua ios podían accede a la aplicación de Google con simplemen e deci “Ok Google” Ilus ación 3. Compa ación de in e aces g á icas And oid 4.4 y And oid 5.0. (1) Fuen e: A sTechnica Ilus ación 4. Compa ación de in e aces g á icas And oid 4.4 y And oid 5.0. (2) Fuen e: A sTechnica Página 11 de 60 - And oid 6.x, una e isión y mejo ía de odas las no edades incluidas en la an e io e sión. • Mejo as en el endimien o del sis ema ope a i o. • Se incluye on g andes mejo as en la segu idad. Con es a e sión las aplicaciones no deben pedi odos los pe misos al ins ala se, sólo se án eque idos an es de usa se. Se podían echaza o acep a dichos pe misos. • Se in oduje on mejo as de Google Now, como el acceso ápido a és a dejando pulsado el bo ón de inicio del sma phone. • In oducción de la “Finge p in API”. Con ella las aplicaciones podían inclui el uso de la huella dac ila pa a cie as acciones. • Mejo as de consumo con espec o a Lollipop. In oducción de “Doze” cómo sis ema de aho o de ene gía. • Sopo e pa a el USB de ipo C. - And oid 7.x, pequeñas mejo as (como el amplio de unciones de “Doze”) y algunos ediseños de las e siones an e io es (como el de las no i icaciones). • Se in oduce el modo de isualización de pan alla di idida. Es o hace que puedas ene dos aplicaciones a la ez con la pan alla di idida. • In oducción de ulkan, la nue a API de OpenGL pa a la ejecución de g á icos 3d con un mayo endimien o. • Cambió del Ja a Run ime En i onmen (De Apache Ha mony se cambia a Open JDK) • Mejo as de segu idad (in oducción de mecanismos pa a e i a ejecu a código malicioso en el ke nel de linux) • In oducción de Google Dayd eam, que conlle a al desa ollo del mundo de la ealidad i ual en disposi i os mó iles. - And oid 8.x, mejo as en las no i icaciones, op imización de aplicaciones en segundo plano y algunos cambios de diseño. Se in oduce una e sión del sis ema ope a i o pa a mó iles de gama baja llamada And oid Go. La mejo a más impo an e es la llamada P ojec T eble. Consis e en c ea una capa de abs acción pa a que los ab ican es de mó iles eciban ac ualizaciones del sis ema sin ene que adap a su in e az g á ica. Página 12 de 60 - And oid 9.x, es a se á la u u a e sión de And oid que inclui á algunas mejo as en el sis ema ope a i o. Pe o aún queda iempo pa a su lanzamien o y pa a que conozcamos odas sus mejo as. Aun así, debemos menciona la po que es pa e del u u o de la compañía. Además de odas las e siones aquí ci adas, cabe des aca que cada ab ican e suele ae su capa de pe sonalización. Aunque cada ez menos común, los ab ican es en las p ime as e siones de And oid solían u iliza su p opia capa de pe sonalización. Es as capas de pe sonalización pueden se a eces pa ecidas a And oid na i o, pe o o as eces, son muy dis in as, como el caso de Huawei o Xiaomi. Hay que ene ambién en cuen a es o a la ho a de desa olla una aplicación po que se mezclan muchas combinaciones de disposi i os con dis in as e siones de And oid y dis in as capas de pe sonalización 2.3. La a qui ec u a del sis ema ope a i o And oid ealmen e es una pila de p o ocolos que usa un ke nel de Linux modi icado. Es una pla a o ma de código abie o y cub e una g an can idad de disposi i os (con dis in o ha dwa e, en e ese ha dwa e se encuen a mul i ud de p ocesado es o pan allas de dis in as esoluciones). 2.3.1 Ke nel de Linux La base sob e la que se ejecu a And oid es Linux. ART, una capa supe io usa uncionalidades del ke nel, como la c eación de subp ocesos o el adminis o del uso de memo ia de bajo ni el. O a de las en ajas es que puede ap o echa el uso de unciones de segu idad que p opo ciona. 2.3.2 Capa de Abs acción de ha dwa e (HAL) O o ga al sis ema una se ie de in e aces que ag upan las uncionalidades del ha dwa e del disposi i o. Las capas de ni eles más al os puedes accede a es as biblio ecas de uncionalidades. En onces, po ejemplo, una biblio eca implemen a la in e az de un componen e ha dwa e como pod ían se la cáma a, o el audio. Su uncionamien o es ácil, cuando una capa supe io , desea accede a las uncionalidades de la cáma a ca ga el módulo co espondien e. Página 13 de 60 Ilus ación 5. Capas del sis ema ope a i o And oid. Fuen e: And oid De elope 2.3.3 And oid Run ime (ART) Como ya imos en la his o ia de And oid, ART ue lanzado o icialmen e en And oid 5.0 (Lollipop). Las aplicaciones se ejecu an en su p opio p oceso y con su p opia ins ancia del ART. And oid Run ime es á esc i o pa a lanza múl iples máquinas i uales en disposi i os de poca memo ia ejecu ando a chi os DEX. Página 14 de 60 Es o es un o ma o diseñado especialmen e pa a And oid, y que ocupa un espacio de memo ia muy educido. Las p incipales ca ac e ís icas de ART son: • Compilación an icipada (AOT – Ahead o ime) y jus o a iempo (JIT – Jus in ime). G acias a ello, pe mi e aho a ene gías y aho a iempo a la ho a de ejecu a cualquie p og ama. • Al igual que ja a usa un ecolec o de ecu sos no u ilizados, solo que es á op imizado pa a And oid. • Es ablece muchas acilidades a la ho a de depu a el código. Algo que acili a a los desa ollado es ayudándoles a ob ene más in o mación sob e posibles e o es. 2.3.4 Biblio ecas C/C++ na i as Va ios componen es de And oid como el ART y la capa del HAL usan biblio ecas na i as esc i as en C y C++. And oid p opo ciona el Ja a API F amewo k que iene algunas de es as uncionalidades. Pe o ambién podemos accede a algunas lib e ías na i as en C/C++ pa a desa olla una aplicación g acias al NDK. Es o es el Ki de desa ollo na i o que pe mi e eu iliza código C/C++, es e código se ejecu a di ec amen e en el p ocesado , en cie o modo hace que uncione más ápido la aplicación, pe o añade mucha complejidad en el desa ollo. 2.3.5 Ja a API F amewo k Todas las uncionalidades de And oid es án disponibles median e la API esc i a en Ja a. Si en como capa de abs acción pa a simpli ica el uso de los componen es del sis ema. • Con iene un sis ema de is as que acili a el desa ollo de in e aces ag egando componen es como lis as, cuad os de ex o, e cé e a • Un adminis ado de ecu sos que p opo ciona un acceso ápido a imágenes, cadenas de ex o o a chi os de diseño. • Un adminis ado de no i icaciones que nos pe mi e pe sonaliza ale as en la ba a de es ado. Página 15 de 60 • Un adminis ado de las ac i idades, que maneja el ciclo de ida de una pan alla y una pila en la que se almacenan las ac i idades. • Un p o eedo de con enido que pe mi e que unas aplicaciones accedan a o as pa a ob ene da os de ellas. 2.3.6 Aplicaciones del sis ema Hay aplicaciones na i as como el calenda io o los con ac os que es án siemp e disponibles pa a pode usa las, son comple amen e iguales que las aplicaciones desa olladas ex e namen e. Además, las aplicaciones que se desa ollen pod á se usadas pa a eu iliza uncionalidades ya implemen adas en es as. Po ejemplo, en la aplicación de las llamadas, podemos eu iliza la desde o a pa a ma ca un elé ono desde és a. También amos a e las pa es de una aplicación And oid. Se di ide en di e en es componen es. El más impo an e es el componen e llamado Ac i idad. • Ac i idad: Rep esen a una pan alla con in e az de usua io. Pongamos un ejemplo. La aplicación de con ac os iene una pan alla con la lis a de odos los con ac os que enemos. Eso se ía una ac i idad. Aplicaciones pueden ene una o muchas ac i idades. Todo es o depende de la complejidad de nues a aplicación. • Se icios: Es e componen e se ejecu a en segundo plano ealizando ope aciones de la ga du ación o a eas de p ocesos ex e nos. En onces un se icio no p opo ciona una in e az como si la p opo ciona la ac i idad. Po ejemplo, un se icio puede se el que se enca gue de ejecu a música en segundo plano mien as que es amos en o a aplicación. • P o eedo es de con enido: Podemos almacena da os compa idos den o del sis ema de a chi os, en una base de da os, en la web, e cé e a. Es o es algo lógico debido a que es no mal compa i los da os y hoy en día cada ez más se usa la nube. • Recep o es de mensajes: Es un componen e que se enca ga de ecoge los anuncios que en ía el sis ema. Es os pueden se en iados po él mismo, pe o ambién po aplicaciones. No ienen una in e az g á ica, pe o po ejemplo pueden c ea no i icaciones al ecibi e en os, po ejemplo, Página 16 de 60 que se ha desca gado un a chi o. Gene almen e su abajo es mínimo y si e pa a comunica unos componen es con o os. • O as pa es de la aplicación - F agmen s: ep esen a una pa e de la in e az de la ac i idad. A eces se puede da el caso de que una ac i idad enga una in e az que solo con enga un agmen que lo con enga odo. - Views: Todos los elemen os que se incluyen en una is a son iews. Así que den o de es e g upo podemos ene lis as, bo ones, campos de ex o, e cé e a. - Layou s: Son la es uc u a de las is as de la aplicación. Todos los obje os que engamos se engloban en la es uc u a de un layou . Cuando se pin a uno de ellos, se pin a con odos sus componen es. - In en : Es una pa e de la aplicación que se enca ga de desc ibi la acción a ealiza . Se usan los in en pa a inicializa o os componen es como ac i idades o se icios. - Recu sos: una aplicación ambién dispone de los ecu sos independien es pa a usa en la aplicación como imágenes, ideos, sonidos (A chi os .png, .mp4, .mp3, po ejemplo). También se pueden de ini animaciones, es ilos, colo es, cadenas de ex o pa a odo ello usando XML. La g an en aja de dispone de es os a chi os independien es a la aplicación es que podemos ene di e en es a chi os de idiomas pa a las cadenas de ex o y dependiendo del idioma del disposi i o pod emos usa un a chi o u o o. También podemos hace lo mismo pa a de ini los UI dependiendo de las con igu aciones del disposi i o. - A chi o de mani ies o: Pa a que el sis ema pueda inicia los componen es de una aplicación debe lee el “Mani es ”. Aquí se decla an odos los componen es que se incluyen den o de la aplicación. Además, den o del mani ies o se decla an odos los pe misos eque idos po la aplicación, las biblio ecas que se usan, el ni el de API de And oid, odos los da os con espec o a la aplicación en gene al. Página 23 de 60 - El clien e GATT, se suele subsc ibi a un se ido GATT. Se enca ga de consul a los da os y de en ia da os al se ido pa a que es e los almacene. - El se ido GATT, que es el enca gado de almacena los da os pa a que un clien e pueda consul a los y que és e los es ablezca como disponibles pa a su uso. 3.6. La opología de la ed con GATT Como ya hemos is o an es es a opología iene luga cuando los disposi i os es án conec ados que es además cuando se usa el GATT. Un pe i é ico solo puede se conec ado con un disposi i o cen al. Eso sí, un disposi i o cen al, como un sma phone, puede se conec ado con múl iples pe i é icos BLE. Se plan ea un p oblema: ¿Y si que emos in e cambia in o mación en e dos pe i é icos? Pues como es á de inido el GATT a simple is a no pod íamos. La solución se ía implemen a un bu e o un sis ema de almacenamien o en el disposi i o cen al y a a és de és e ambos disposi i os pod ían comunica se en e sí. Como emos en la siguien e imagen el GATT ansmi e da os de mane a bidi eccional a di e encia de que el GAP lo hacía de mane a unidi eccional. Ilus ación 9. Topología de ed pa a el en ío de in o mación en con los disposi i os conec ados empa ejados. Fuen e: h p://lea n.ada ui .com Página 24 de 60 La elación en e el se ido y el clien e es muy impo an e. El pe i é ico se conoce como el “GATT Se e ” que con iene los da os de búsqueda del ATT y las de iniciones de se icio y ca ac e ís icas. El clien e GATT, un elé ono o una able a, es el que en ía las pe iciones al se ido . Todas las ansacciones es án iniciadas po un disposi i o maes o, el clien e. És e ecibe la espues a del disposi i o escla o, el se ido . Al es ablece la conexión, el pe i é ico en ía al disposi i o cen al una suge encia de “In e alo de conexión”. Es e iempo es el que usa á el maes o pa a consul a si hay nue os da os disponibles. Hay que ene en cuen a que es e in e alo pod ía no cumpli se si, po ejemplo, el iempo de conexión acaba y iene que ol e a consul a da os, pod ía da se el caso de que el disposi i o cen al es u iese consul ando da os de o o pe i é ico o usando los ecu sos del sis ema eque idos, en onces no pod ía cumpli el in e alo de conexión. Es po es o po lo que es e iempo es una suge encia, po que puede que no se pueda cumpli . Aquí pod íamos obse a una aza en e un disposi i o maes o y un disposi i o escla o: Ilus ación 10. En ío de in o mación con disposi i o conec ados. Fuen e: h p://lea n.ada ui .com Es as ansacciones en e se ido y clien e se basan en obje os anidados de al o ni el, llamados pe iles, se icios y ca ac e ís icas. El ni el supe io es el pe il, que es el que engloba uno o más se icios necesa ios pa a cumpli el caso de uso que cub e el obje i o de pe il. Po ejemplo, el pe il de ecuencia ca diaca combina el se icio de ecuencia ca diaca con el de in o mación del disposi i o. Página 25 de 60 Ilus ación 11. Je a quía del GATT. Fuen e: Blue oo h.com 3.6.1. Se icios Los se icios se usan pa a di idi los da os en en idades lógicas. Con ienen agmen os especí icos de da os. Po ejemplo, la in o mación básica del disposi i o. Se iden i ican po UUID UUID, que puede se de 16-bi s (pa a se icios BLE adop ados o icialmen e) o de 128-bi s (pa a se icios pe sonalizados). Un UUID es un iden i icado único uni e sal, que si e en común a odos los disposi i os sin ene usa un gene ado de códigos. Página 26 de 60 3.6.2. Ca ac e ís icas Es el ni el más bajo en las ansacciones del GATT. Las ca ac e ís icas es el ni el base sob e el que se in e ac úa en BLE. Con iene sólo un ni el lógico de da os. Po ejemplo, el se icio de ecuencia ca diaca iene has a es ca ac e ís icas en e ellas la medición de la ecuencia ca díaca. Se dis ingue de mane a simila a los se icios. Se usan UUID de 16-bi s o 128-bi s, usando las o iciales o las pe sonalizadas al igual que en los se icios. La di e encia es á en que el UUID comienza con un alo de 8bi s que desc ibe el o ma o de los da os (UINT8 o UINT16). Los demás da os dependen del ipo de medición que se ealice. Página 27 de 60 Capí ulo 4 Recu sos y he amien as u ilizadas 4.1. Xiaomi miband2 Ilus ación 12. Xiaomi mi band 2. Fuen e: h p://mi.com Pulse a in eligen e pa a moni o ización de algunos de los pa áme os que se usan en la aplicación. Da os como núme o de pasos dia ios o i mo ca diaco. - Pan alla OLED 0,42" - Blue oo h 4.2 BLE - Ba e ía de 70 mAh 4.2. Beas Senso Ilus ación 13. Senso Beas . Fuen e: h ps://www. hisisbeas .com Página 28 de 60 Es un disposi i o que con iene a ios ipos de senso es den o, como un acele óme o. Se enca ga de medi la ue za y el núme o de epe iciones que ealizamos. Ca ac e ís icas: - Como ya hemos dicho con iene a ios ipos de senso es. Pa a se más exac os con iene es acele óme os, es gi oscopios y es b újulas. - Tiene una ba e ía de al a du ación con has a 8 ho as - Blue oo h 4.0 4.3. HTC U Ul a Ilus ación 14. Sma phone HTC U Ul a. Fuen e: h ps://h c.com Un disposi i o de úl ima gene ación. Pe mi i á la p ueba y la mayo ía del desa ollo de la aplicación mó il. Ca ac e ís icas: - Pan alla Quad HD (5.7 pulgadas) - P ocesado Snapd agon 820 (4x2.15Ghz) - Blue oo h 4.2 - Memo ia RAM de 4 GB - And oid 8.0 - Almacenamien o de 64 GB Página 29 de 60 4.4. HTC Desi e 820 Ilus ación 15. Sma phone HTC Desi e 820. Fuen e: h ps://h c.com Es e disposi i o pe mi e la p ueba de la aplicación con un disposi i o con ca ac e ís icas in e io es al an e io . Es un an iguo disposi i o de gama media que se enma ca ía aho a mismo en los elé onos in eligen es de gama in e io . Sus ca ac e ís icas p incipales son: - Pan alla HD (5.5 pulgadas) - P ocesado Snapd agon 615 (4x1.5Ghz y 4x1.0Ghz) - Blue oo h 4.0 - Memo ia RAM de 2 GB - And oid 6.0 - Almacenamien o de 16 GB 4.5. And oid S udio Es el en o no de desa ollo desa ollado po Je B ains a pa i de In elliJ IDEA. Es a diseñado exp esamen e pa a el desa ollo de And oid y disponible pa a Linux, macOS y Windows. Sus i uyó a Eclipse como en o no p incipal de desa ollo And oid. Se anunció en la con e encia Google I/O de 2013 y se lanzó la e sión de ini i a (1.0) a inales de 2014. Aho a mismo la e sión es able ac ual es la 3.1.3. Página 30 de 60 Pe mi e una depu ación sencilla de aplicaciones en iempo eal, en un disposi i o i ual o en un disposi i o eal. Además, iene la in eg ación de G adle, que es un sis ema de au oma ización de la cons ucción del p oyec o (simila a Ma en). 4.6. Gi Hub Pa a el desa ollo se ha u ilizado un ges o de e siones pa a pode ene un his ó ico de e siones y pode obse a cómo a e olucionando el p oyec o. Es una pla a o ma de desa ollo so wa e colabo a i a, que pe mi e ene el código en un eposi o io en la web, abie o pa a odo el mundo. 4.7. Magicd aw Es una he amien a de modelado isual UML acili a el diseño de sis emas o ien ados a obje os y con nume osos lenguajes compa ibles, así como compa ibilidad con el diseño de esquemas de bases de da os. Página 31 de 60 Capí ulo 5 Análisis de equisi os 5.1. Iden i icación de ac o es Simplemen e el único ac o es la pe sona que use la aplicación pa a la sinc onización de los disposi i os con el sma phone. Es el que ecoge á odos los casos de uso que se puedan da en la aplicación. Pa a simpli ica la in o mación den o de los casos de uso no ha emos e e encia a es e debido a que siemp e es el mismo y no iene sen ido inclui lo. 5.2. Casos de usos Analiza emos los casos de uso gene ales del sis ema y pos e io men e se lle a á a cabo una especi icación más a ondo del sis ema. Caso de uso Busca disposi i os Desc ipción El sis ema se enca ga á de escanea odos los disposi i os Blue oo h LE y los mos a á po pan alla P econdición • El Blue oo h del disposi i o debe es a encendido • El usua io debe pulsa el bo ón de escaneo y acep a los pe misos del disposi i o Pos condición El sis ema mos a á una lis a con odos los disposi i os encon ados y p epa a á el disposi i o pa a la conexión Caso de uso Pe sonaliza Da os Desc ipción El sis ema pe mi i á al usua io modi ica oda la in o mación pe sonal que se ecoge den o de la aplicación pa a acili a la mayo p ecisión de la in o mación y sa is ace una mayo pe sonalización de és a. P econdición - Pos condición El sis ema ac ualiza á los da os del usua io den o de la aplicación. Además, pe mi i á modi ica los una ez den o, mos ando los da os ac uales. Página 32 de 60 Caso de uso Visualización de da os Desc ipción El sis ema mos a á los da os ecopilados po el senso seleccionado, así como un esumen de su in o mación almacenada en la aplicación. Algunos de los da os los analiza la aplicación y los almacena en ella pa a su uso. P econdiciones • Na ega po las pes añas de la aplicación • Sinc oniza los da os • El Blue oo h del disposi i o debe es a encendido Pos condición El sis ema mues a la in o mación ac ualizada y modi ica los an iguos da os ac ualizándolos con los nue os. Caso de uso Sinc onización de los da os Desc ipción El sis ema sinc oniza los da os del disposi i o pa a que pueda ac ualiza los. P econdiciones • El Blue oo h del disposi i o debe es a encendido • Habe pulsado en uno de los disposi i os que se encuen en en la lis a de disposi i os escaneados Pos condición El sis ema ac ualiza á los da os del disposi i o Caso de uso Compa i los da os Desc ipción El sis ema pe mi e compa i los da os dia ios con o as aplicaciones P econdiciones • Habe se conec ado a un disposi i o • Pulsa en el bo ón de compa i Pos condición Se compa en los da os en la aplicación co espondien e y ol emos a nues a a aplicación Página 39 de 60 6.2. Diag amas de ac i idad Aquí e emos una aza comple a de la aplicación, mos ando odas las posibles in e acciones den o de ella. És a pos e io men e nos se i á pa a su desa ollo. Ilus ación 23. Diag ama de Ac i idad de la aplicación 6.3. Aplicación 6.3.1. Diseño de la in e az Pa a empeza , se ha ealizado una pan alla de bien enida que do a a la aplicación de un aspec o más ag adable. Pa a ello, una ez en ada la p ime a ez a la aplicación y con igu ados sus da os pe sonales, se mos a á un mensaje pe sonalizado con su nomb e. Página 40 de 60 Como ya imos en el p o o ipo, end emos una pan alla de con igu ación pa a pe sonaliza los da os del usua io. En él se pedi án los da os que pos e io men e se usa án pa a, po ejemplo, calcula el índice de masa muscula . O os da os simplemen e se i án pa a ija una me a de pasos dia ios o como el caso del nomb e pa a el mensaje de bien enida. También se puede añadi una o o con el hecho de pode pe sonaliza más la aplicación. Una ez con igu ados los da os con el bo ón que encon amos en la pa e supe io , se gua da án los da os en el elé ono y la aplicación p ocede á a edi igi nos a la pan alla enca gada de busca odos los disposi i os ce canos. Una ez en es a en ana pod emos escanea los disposi i os o pa a la búsqueda de disposi i os si que emos de ene la. Además, ambién pod emos ol e a con igu a los da os desde es a pan alla, ya que es la pan alla p incipal de nues a aplicación y se enca ga á de encon a los disposi i os y una ez pulsado en el disposi i o que nos in e ese se enca ga á de ecopila oda la in o mación. Ilus ación 25. Pan alla de con igu ación Ilus ación 24. Pan alla de bien enida Página 41 de 60 Como emos en las ilus aciones, se ecoge la in o mación co espondien e al disposi i o. Además, una ez sinc onizados los da os ob end emos unas g á icas como la mos ada a con inuación de la dis ancia eco ida en me os. Todas las pes añas ha án e e encia a una g á ica mos ando un his ó ico o denado po echa de la in o mación co espondien e. Además de la g á ica pa a ob ene la in o mación de mane a más p ecisa se á apoyada po una abla de da os. Además, una ez conec ado al disposi i o se pod á ol e a con igu a la in o mación pe sonal ( o o, me a de pasos dia ia, e cé e a). También pod emos desca ga la in o mación de nues as g á icas en a chi os cs independien es que encon a emos en la ca pe a de desca gas del disposi i o. Y po úl imo ambién pod emos compa i nues os da os dia ios con nues as o as aplicaciones, como emos en las siguien es imágenes. Ilus ación 27. Pan alla de in o mación gene al Ilus ación 26. Pan alla de g á icas de da os Página 42 de 60 Ilus ación 29. CSV Impo ados en la ca pe a desca gas Ilus ación 28. CSV en expo ado en o ma o es ánda Ilus ación 31. Ejemplo de compa i in o mación con alguna aplicación Ilus ación 30. Página 43 de 60 6.3.2. Desa ollo de la aplicación 6.3.2.1. Lib e ías Empeza emos hablando de lib e ías ex e nas a And oid que hemos usado en el p oyec o. Todas ellas nos acili an alguna de las uncionalidades que se inco po an en la aplicación. • Glide. Es una lib e ía que pe mi e la ca ga de imágenes an o median e un enlace web como una di ección de almacenamien o en el elé ono. Es de código abie o y adminis a la cache de los ecu sos del sis ema pa a las o os. Es simple y ácil de usa y e i amos ene que usa un bi map pa a ep esen a una imagen e i ando así complejidad y ganando legibilidad en el código. P opo ciona, además, ambién la posibilidad de mos a gi s. • Bu e kni e. Es una lib e ía que pe mi e ápidamen e el asociamien o en e a chi os g á icos y a chi os de p og amación (binding) como un Image iew. Un ejemplo sencillo: Pa a elaciona un a chi o en And oid debemos usa lo siguien e: Sin emba go, g acias a es a lib e ía podemos e e encia lo de es a mane a. Es o simpli ica el código además de como pasaba en el caso an e io a o ece a la legibilidad, haciendo un código más ácil de en ende . Se pueden ambién e e encia , ecu sos como ex o, o imágenes. • MPAnd oidCha . Nos pe mi e de una o ma y sencilla añadi a nues a in e az g á icas que son áciles de usa y de pe sonaliza . Hay g an can idad de g á icas, como g á icos de ba as o ci cula es, pe o en nues o caso hemos usado solo g á icas lineales ya que an aco de con la aplicación. Bu on myBu on = indViewById(R.id.my_bu on) @BindView(R.id. id.my_bu on) Bu on myBu on; Página 44 de 60 • Fas CSV es una biblio eca CSV compa ible con RFC 4180 ul a ápida y simple pa a ja a, en es e caso And oid. RFC 4180 es el o ma o de sepa ación po comas que se ajus a a los a chi os CSV. • Lib e ías na i as. And oid p opo ciona una se ie de lib e ías na i as como las de diseño que acili an el desa ollo de las aplicaciones con los úl imos componen es disponibles o la de es ing (Esp esso) que pe mi e la ealización de p uebas con es basándose en Juni . 6.3.2.2. Vis as An es de en a a más de alle amos a e cómo uncionan las is as en And oid. Pa a empeza las is as se decla an en una pa e de los ecu sos de la aplicación llamada layou s (así como puede habe o as como d awable pa a imágenes). Es os a chi os como la g an mayo ía usan el o ma o XML pa a su decla ación, y se gene a así un á bol en e pad es ( is as o layou s) e hijos que son obje os como bo ones, campos de ex o u o as is as. Ilus ación 32. Ejemplo de XML de una is a An iguamen e And oid disponía de Rela i eLayou , Linea Layou o G idLayou s. El p oblema de es as is as e a que cuan a más complejidad enía una is a más g ande se hacía el á bol. And oid a la ho a de pin a Página 45 de 60 una in e az lo ealiza po pa es pequeñas del á bol, pin ando de is a en is a, en onces es o supone una sob eca ga de endimien o. Si anidamos en una is a ein e den o de ella el endimien o a la ho a de pin a se la is a se á meno . Ilus ación 33. Á bol de is as en And oid. Fuen e: Tu o ialspoin La solución a es o se llama Cons ain Layou . Busca la u ilización de la meno can idad de layou s anidados den o de una is a. Usa las es icciones pa a es ablece en qué luga es a á cada elemen o. La en aja de es o es, como ya hemos hablado, la eliminación de sob eca ga de una is a. O a pa e que se ha usado g acias a simplicidad y mejo a de endimien o se llama Recycle View. An es de es o las lis as de elemen os se hacían con un Lis View, pe o es o enía un g an p oblema: Ca gaba odos los elemen os de la lis a, aunque no es u iesen en pan alla. Es o conlle a a una sob eca ga innecesa ia po que a eces no nos hace al a e oda la lis a. En nues o caso las lis as de elemen os se án pequeñas p obablemen e no engamos que hace desplaza la is a pa a busca los disposi i os. Pe o, g acias a es e elemen o, se enca ga de solo ca ga aquellos elemen os que es én en pan alla. Una ez se desplace la is a hacia abajo ecicla á el elemen o y pin a á el nue o. Página 46 de 60 6.3.2.3. Almacenamien o El almacenamien o de la in o mación se lle a a cabo en dos luga es den o de la aplicación. La in o mación pequeña y sencilla se lle a a cabo en lo que en And oid se denomina “Sha ed P e e ences”. Es o pe mi e almacena in o mación cla e- alo . Po ejemplo, en nues o caso almacenamos el nomb e con una cla e que se llama “name” y el alo que in oduzca el usua io en la con igu ación. Po o o lado, ya un poco más complejo se encuen a una base de da os SQLi e que se enca ga de almacena oda la in o mación con espec o a las lec u as de da os, de los pasos, i mo ca diaco o peso. SQLi e es sis ema de ges ión de bases de da os elaciones que pe mi e el almacenamien o de da os en disposi i os empo ados. Es de código abie os y u iliza el lenguaje de SQL lo que acili a su uso. Pa a el caso del peso, y de los pasos son da os dia ios y en la base de da os se almacena án de mane a que solo se pueda inse a un da o po día. Una pe sona solo iene un núme o de pasos dia io y el peso ampoco a ía demasiado dia iamen e. Sin emba go, pa a el caso del i mo ca diaco, se puede inse a un da o po echa comple a (con ho as, minu os y segundos), no como en el caso an e io . Es o es debido po que el pulso es á en cons an e cambio y nos pe mi i á moni o iza lo de una mane a más p ecisa. Ilus ación 34. Ejemplos de ablas que in eg a la base de da os de la aplicación 6.3.2.4. Conexión con disposi i os Pa a lle a a cabo una conexión p ime o se lle a a cabo la búsqueda de los disposi i os que haya ce canos. Pa a ealiza la búsqueda de los disposi i os de bajo consumo se usa un escáne que p opo ciona el adap ado de blue oo h del disposi i o. Página 47 de 60 Con es e pod emos empeza y pa a el escaneo de disposi i os. Nos pe mi i á es ablece una unción pa a cada ez que un disposi i o sea de ec ado. En ese momen o noso os añadi emos dicho disposi i o a la lis a de disposi i os que enemos a nues o al ededo . Una ez se enga el disposi i o ce cano se usa á el GATT pa a conec a se con el disposi i o. Una ez conec ado pedi emos a los se icios que dispone el disposi i o que nos acili e la in o mación. Una ez ecibida la in o mación se enca ga á de mos a la po pan alla y ac ualiza los da os en la base de da os. 6.3.2.5. Pe misos Algo esencial hoy en día es la segu idad. Pa a ello den o de And oid nos encon amos los pe misos del sis ema. És os son los enca gados de acili a el acceso a los ecu sos den o del sis ema como la cáma a o el blue oo h en nues o caso. En And oid Lollipop los pe misos se pedían odos al p incipio al ins ala las aplicaciones. A pa i de And oid Ma shmallow los pe misos se deben pedi en iempo eal y sólo y exclusi amen e cuando sean necesa ios. Po ejemplo, den o de nues a aplicación se equie en ambién los pe misos de almacenamien o pa a gua da la imagen de pe il del usua io. Pa a ello pedi emos pe miso cuando engamos la o o y solo engamos que almacena la en el disposi i o. Mien as an o no se á necesa io pedi los pe misos. 6.4. Diag amas de secuencia Pa a la documen ación co ec a del uncionamien o de la aplicación ambién se apo an diag amas de secuencia con las p incipales uncionalidades de la aplicación. Con el pod emos e la in e acción en e las dis in as pa es de la aplicación del sis ema y como se comunican en e ellas a al o ni el. Los p ime os diag amas son los que no es necesa io es ablece la conexión en e los disposi i os. El más impo an e es el de sinc onización de los da os que incluye el escaneo de disposi i os. Página 48 de 60 Ilus ación 35. Diag ama de secuencia pa a la cap u a de imágenes de pe il en la aplicación Ilus ación 36. Diag ama de secuencia del almacenamien o de los da os pe sonales den o de la aplicación Página 55 de 60 Capí ulo 8 Conclusiones y líneas u u as Aquí encon a emos un esumen con los p oblemas que se han encon ado en el desa ollo de la aplicación, así como obje i os que se han cumplido. Además, encon a emos ambién apa ados de posibles mejo as u u as. 8.1. Di icul ades encon adas Se han encon ado nume osas di icul ades a la ho a de conoce la in o mación que se compa e en los disposi i os, debido a que no hay muchos ab ican es que quie an acili a dicha in o mación. En onces no es posible consegui la máxima in o mación posible de los disposi i os. Nos encon ábamos po una pa e el p oblema de en ende el uncionamien o del p o ocolo de Blue oo h Low Ene gy y, pos e io men e, e su uncionamien o den o de un disposi i o no mal in eligen e como son los mó iles ac uales. Po o o lado, la di icul ad de sinc onización en e los disposi i os no es ideal y, po an o, no es inmedia a. En onces se ha enido que diseña un sis ema capaz de consegui oda la in o mación de mane a que sea capaz de eacciona a allos y casos en los que se pie da la conexión o no sea posible ex ae la de los disposi i os. Se han quedado además a ás algunos disposi i os que debían in eg a se, pe o cada disposi i o equie e un conocimien o exhaus i o de la ansmisión de in o mación en cada caso. Has a el pun o de conoce by e a by e como es la ansmisión de es a in o mación y como se ha dicho an e io men e los ab ican es no suelen da es as acilidades. Pa a supe a es a des en aja se end á que abaja en un u u o con las dis in as emp esas ab ican es de los disposi i os y log a ob ene la mayo can idad de in o mación sob e és os. Aunque pod ía se una a ea di icul osa log a ob ene la in o mación sob e el uncionamien o de los se icios de cada disposi i o. Es o en gene al es debido a que las emp esas ab ican su p opio so wa e que acili an con el mismo ha dwa e. Página 56 de 60 8.2. Obje i os supe ados Se ha log ado in eg a una aplicación sencilla, y bas an e li iana que se pueda usa en cualquie disposi i o que hoy en día haya en el me cado (cabe des aca que el me cado en And oid ya sólo dis ibuye al me cado e siones de And oid 7.0 hacia adelan e). Además, se ha log ado el uso de una base de da os embebida pa a el a amien o de los da os. Pa a su pos e io análisis se han usado g á icas pa a en ende y e isualmen e la e olución de és os. También se ha lle ado a cabo una in es igación del uncionamien o y la his o ia de sis ema ope a i o And oid y del p o ocolo de Blue oo h Low Ene gy. Se han ealizado p uebas de in e aces de usua io pa a co obo a el uncionamien o co ec o de la aplicación. 8.3. Líneas u u as Po úl imo, se han elabo ado una se ie de líneas u u as que pueden se ac ibles de aplica y que son po encialmen e aplicables den o del p oyec o. • Como ya se ha mencionado an e io men e la inclusión de más disposi i os. El obje i o p incipal es ecopila la in o mación de muchos disposi i os mó iles pa a acili a el uso de las pe sonas y que no engan que usa a ias aplicaciones, ap o echando así el aho o de almacenamien o de memo ia den o del disposi i o. • Mejo a en las in e aces de usua io, hab ía que p es a a ención a lo que demande el me cado y ac ualiza se con las nue as opciones que nos pe mi a el sis ema. Así como ac ualiza la in o mación de las pan allas o su es uc u ación pa a aumen a la legibilidad de la in o mación. • Ampliación de la uncionalidad. Aho a mismo la uncionalidad se limi a a los disposi i os que disponemos, pe o si log ásemos ene más disposi i os pod íamos ob ene in o mación combinada en e ellos consiguiendo oda ía más p ecisión en los da os. Ob ene da os como po Página 57 de 60 ejemplo el núme o de pasos en una sesión cuando ayamos a co e o el núme o de kilóme os eco idos. • Uso de una API como Google Fi pa a sinc oniza los da os, en ez de usa una base de da os local pa a ello. Es o pe mi i ía ene lo en múl iples disposi i os. • In eg ación con edes sociales. Hoy en día odos es amos conec ados con nues os disposi i os. Una opción se ía el pode compa i los da os con dis in as pe sonas pa a i iendo su e olución. En de ini i a, con es os aspec os mos amos que el p oyec o iene po encial de c ecimien o en un u u o, e i ando las ac uales es icciones empo ales. Página 59 de 60 Capí ulo 9 Bibliog a ía: Todos los enlaces han sido ecupe ados de páginas webs en el año 2018, que ha sido el año de ealización de es e p oyec o: h ps://punch h ough.com/bean/docs/guides/e e y hing-else/how-gap-and-ga - wo k/ h p://de . i.com/ i ex/con en /simplelink_cc2640 2_sdk_1_40_00_45/docs/bles ack/ble_use _guide/h ml/ble-s ack-3.x/ga .h ml h ps://de elope .and oid.com/guide/ opics/connec i i y/blue oo h-le.h ml h ps://en.wikipedia.o g/wiki/And oid_(ope a ing_sys em) h p://gs.s a coun e .com/os-ma ke -sha e/mobile/wo ldwide h ps://de elope .and oid.com/guide/pla o m/?hl=es-419 h ps://a s echnica.com/gadge s/2016/10/building-and oid-a-40000-wo d- his o y-o -googles-mobile-os/11/ h ps://sou ce.and oid.com/de ices/a chi ec u e/ eble h ps://solidgea g oup.com/blue oo h-ble-el-conocido-desconocido?lang=es h ps://lea n.ada ui .com/in oduc ion- o-blue oo h-low-ene gy/in oduc ion h ps://www.blue oo h.com/speci ica ions/ga /gene ic-a ibu es-o e iew h ps://en.wikipedia.o g/wiki/Gene ic_access_p o ile h ps://de elope .and oid.com/guide/componen s/ac i i ies/ac i i y-li ecycle h ps://de elope .and oid.com/guide/componen s/ undamen als?hl=es-419 h ps://lea n.spa k un.com/ u o ials/blue oo h-basics h p://www.noalaobesidad.d .gob.mx/index.php?op ion=com_con en & iew=a i cle&id=52&I emid h ps://de elope .and oid.com/guide/componen s/in en s- il e s?hl=es-419 h ps://de elope .and oid.com/guide/componen s/ agmen s?hl=es-419 h ps://de elope .and oid.com/ aining/anima ion/sc een-slide h ps://de elope .and oid.com/guide/ opics/ui/menus Página 60 de 60 h ps://de elope .and oid.com/guide/ opics/ui/decla ing-layou ?hl=es-419 h ps://de elope .and oid.com/ aining/cons ain -layou /?hl=es-419 h ps://de elope .and oid.com/guide/ opics/ui/layou / ecycle iew?hl=es-419 h ps://de elope .and oid.com/ aining/ ansi ions/cus om- ansi ions?hl=es-419 h ps://de elope .and oid.com/ aining/da a-s o age/sqli e h ps://de elope .and oid.com/ aining/da a-s o age/sha ed-p e e ences Recu sos u ilizados: h ps://www.h c.com/es/sma phones/h c-u-ul a/ h ps://www.h c.com/in/sma phones/h c-desi e-820/ h ps://www.mi.com/es/miband2/ h ps://en.wikipedia.o g/wiki/And oid_S udio h ps://de elope .and oid.com/s udio/ h ps://www.nomagic.com/p oduc s/magicd aw h ps://www. hisisbeas .com/en