GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 1
LEONEL FERNANDO PEÑARRIETA
PROGRAMACIÓN MÓVIL
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 2
PROGRAMACIÓN MÓVIL
GUÍA DIDÁCTICA
T.S. DESARROLLO DE SOFTWARE
2023
PROFESOR AUTOR: LEONEL FERNANDO PEÑARRIETA TRUJILLO - leonel.penarrieta@cordillera.edu.ec
PRIMERA EDICIÓN
ISBN – 978-9942-616-59-3
Reservados todos los derechos. Está prohibido, bajo las sanciones penales y el resarcimiento civil
previstos en las leyes, reproducir, registrar o transmitir esta publicación, integra o parcialmente, por
cualquier sistema de recuperación y por cualquier medio, sea mecánico, electrónico, magnético,
eletróptico, por fotocopia o por cualquiera otro, sin la autorización por escrito al Centro de Investigación
y Desarrollo Ecuador (CIDE) y el Instituto Tecnológico Universitario Cordillera (ITSCO).
© CIDE EDITORIAL Nº RADICACIÓN: 73452
Guayaquil, Ecuador
Copyright © 2023
Centro de Investigación y Desarrollo Ecuador
Tel.: + (593) 04 2037524
http://www.cidecuador.org
© INSTITUTO TECNOLÓGICO UNIVERSITARIO CORDILLERA
Quito - Ecuador
Copyright © 2023
Teléfonos: + 593(2) 433649,
Av. De la Prensa N45-268 y Logroño, Quito
http://www.cordillera.edu.ec
ESTE TRABAJO HA SIDO ACREDITADO BAJO LA LICENCIA CREATIVE COMMONS
ATRIBUCIÓN 4.0 INTERNACIONAL DE RECONOCIMIENTO – NO COMERCIAL- NO SE
UTILICE CON FINES COMERCIALES, NI SE REALICEN OBRAS DERIVADAS.
HTTP://CREATIVECOMMONS.ORG/LICENSES/BY/4.0/.
mailto:leonel.penarrieta@cordillera.edu.ec
http://www.cidecuador.org/
http://www.cordillera.edu.ec/
http://creativecommons.org/licenses/by/4.0/
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 3
CARTA DE REVISIÓN DE PARES ACADÉMICOS
El Centro de Investigación y Desarrollo Ecuador (CIDE), a través de
su Editorial Radicación Nº 73452 certifica por medio de la presente
que el libro:
Título: Programación móvil
Autor: Leonel Fernando Peñarrieta Trujillo
ISBN: 978-9942-616-59-3
Formato: Digital
Fecha de publicación: 19 de abril 2023
Código de barras:
Fue evaluado por el Comité Académico y Científico de CIDE EDITORIAL y
fue ACEPTADO para su publicación, el proceso de revisión de pares
contempló aspectos relacionados con la temporalidad, normalidad de
contenido, coherencia, estilo, formato sobre el tema seleccionado.
El Comité Académico y Científico está conformado por:
Ing. Guido Rosales Uriona
Phd. Alexandre Bergel
Dr. Roger Dante Prado Lafuente
Lic. Pedro Misacc Naranjo, MSc.
COORDINADOR DE PUBLICACIONES
EDITORIAL-CIDE.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 4
CONTENIDOS
1. DATOS INFORMATIVOS DE LA ASIGNATURA ................................ 7
2. PRESENTACIÓN Y PRÓLOGO DE LA ASIGNATURA. ...................... 8
3. INTRODUCCIÓN A LA ASIGNATURA .............................................. 9
3.1. Breve descripción de la materia .................................................................... 9
3.2. Importancia de la materia .............................................................................. 9
3.3. ¿Qué voy a encontrar en este documento? ............................................... 10
3.4. Objetivo de la guía didáctica ..................................................................... 10
4. PROFESOR AUTOR - PERFIL PROFESIONAL .................................. 11
5. OBJETIVO DE LA ASIGNATURA..................................................... 13
6. RESULTADO DE APRENDIZAJE ...................................................... 13
6.1. Cognitivo .......................................................................................................... 13
6.2. Procedimental ................................................................................................. 13
6.3. Actitudinal ........................................................................................................ 13
6.4. Valores ............................................................................................................. 14
7. UNIDAD 1 ....................................................................................... 16
7.1. Bloques fundamentales de una APP ........................................................... 16
7.1.1. Introducción ....................................................................................... 17
7.1.2. Programación Nativa ..................................................................... 18
7.1.3. Arquitectura del Sistema operativo ............................................. 19
7.1.2. Arquitectura Android ...................................................................... 19
7.1.3. Arquitectura IOS .............................................................................. 21
7.2. Bloques Fundamentales De Una App ......................................................... 23
7.2.1. Layouts y controles básicos ........................................................... 23
7.3. Conociendo Xamarin.forms ........................................................................... 28
7.3.1. Layouts y controles básicos ........................................................... 28
7.4. ACTIVADES DE LA UNIDAD 1 ...................................................................... 33
7.4.1. Actividades de aprendizaje en contacto con el docente ........ 33
7.4.2. Actividad de aprendizaje autónomo (Aula Virtual) ................. 35
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 5
7.4.3. Actividad de aprendizaje práctico - experimental .................. 37
7.5. EVALUACIÓN DEL APRENDIZAJE DE LA UNIDAD 1 ................................ 39
7.5.1. Evaluación actividades de docencia............................................ 39
7.5.2. Evaluación actividades practico experimental .......................... 39
7.5.3. Evaluación actividades de trabajo autónomo ........................... 39
7.5.4. Examen .............................................................................................. 39
8. UNIDAD 2 ....................................................................................... 42
8.1. Uso de controles avanzados ........................................................................ 42
8.1.1. Base de Datos SQLite..................................................................... 42
8.2. Consumo de WebServices ............................................................................ 46
8.2.1. Estándares que emplea para funcionar. .................................... 46
8.3. Notificaciones locales y Broadcast Receivers. .......................................... 47
8.3.1. Notificaciones Broadcast ............................................................... 47
8.3.2. Notificaciones Locales .................................................................... 50
8.4. ACTIVADES DE LA UNIDAD 2 ...................................................................... 52
8.4.1. Actividades de aprendizaje en contacto con el docente ........ 52
8.4.2. Actividad de aprendizaje autónomo .......................................... 54
8.5. EVALUACIÓN DEL APRENDIZAJE DE LA UNIDAD 2 ................................ 55
8.5.1. Evaluación actividades de docencia............................................ 55
8.5.2. Evaluación actividades practico experimental .......................... 55
8.5.3. Evaluación actividades de trabajo autónomo ........................... 55
8.5.4. Examen .............................................................................................. 56
9. UNIDAD 3 ....................................................................................... 58
9.1. Geolocalización .............................................................................................. 58
9.1.1. GPS .................................................................................................... 58
9.2. Sensores ........................................................................................................... 61
9.3. Flutter ................................................................................................................ 63
9.3.1. Introducción ....................................................................................... 63
9.4. ACTIVADES DE LA UNIDAD 3 ...................................................................... 68
9.4.1. Actividades de aprendizaje en contacto con el docente ........ 68
9.4.2. Actividad de aprendizaje autónomo .......................................... 72
9.5. EVALUACIÓN DEL APRENDIZAJE DE LA UNIDAD 1 ................................ 74
9.5.1. Evaluación actividades de docencia............................................ 74
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 6
9.5.2. Evaluación actividades practico experimental .......................... 74
9.5.3. Evaluación actividades de trabajo autónomo ........................... 74
9.5.4. Examen .............................................................................................. 75
9.6. BIBLIOGRAFÍA ................................................................................................. 76
9.6.1. Referencias Bibliográficas ............................................................. 76
9.6.2. Sitios de interés................................................................................ 78
10. ACRÓNIMOS, ABREVIATURAS Y GLOSARIO DE TÉRMINOS ....... 79
11. ÍNDICE DE TABLAS.......................................................................... 80
12. ÍNDICE DE FIGURAS ....................................................................... 80
13. ÌNDICE DE ECUACIONES O FÓRMULAS ........................................ 82
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 7
1. DATOS INFORMATIVOS DE LA ASIGNATURA
CARRERA DESARROLLO DE SOFTWARE
NIVEL Cuarto
MODALIDAD Presencial
JORNADA Matutina, Nocturna
ASIGNATURA/MATERIA Programación Móvil
CAMPO DE FORMACIÓN Adaptación e Innovación Tecnológica
UNIDAD DE ORGANIZACIÓN
CURRICULAR
Profesional
HORAS DE LA ASIGNATURA 135 horas
ORGANIZACIÓN DEL
APRENDIZAJE
Horas de Docencia: 54 horas
Horas de Prácticas de
Aprendizaje:
40 horas
Horas de Trabajo
Autónomo:
41 horas
PRERREQUISITOS Programación Orientada a Objetos II
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 8
2. PRESENTACIÓN Y PRÓLOGO DE LA ASIGNATURA.
Bienvenidos a la asignatura de programación móvil, espero que en este
lugar encuentren las herramientas para su formación como desarrolladores,
así como también experiencias y aprendizaje que les resulten significativos
en términos personales.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 9
3. INTRODUCCIÓN A LA ASIGNATURA
3.1. Breve descripción de la materia
La asignatura La Programación Móvil forma parte de la Unidad de
formación Profesional y su tratamiento es de naturaleza teórico - práctica
orientada a proporcionar al estudiante de la Carrera de Desarrollo de
Software, una visión general de su campo ocupacional, así como iniciarlo en
el aprendizaje de los paradigmas de programación y las características de
los lenguajes de mayor demanda en el sector empresarial, se ha convertido
en una parte importante del acceso a la información, el uso de aplicaciones
especializadas es una necesidad en la industria. Los teléfonos celulares
inteligentes son dispositivos imprescindibles en la sociedad, con capacidades
de acceder a Internet a través de diferentes tecnologías de red inalámbrica
de alta velocidad. Sin embargo, a pesar de sus capacidades, el desarrollo
de aplicaciones para dispositivos móviles presenta desafíos que no están
presentes en el desarrollo de software tradicional.
Esto se debe a que, comparados con las computadoras de escritorio y
servidores, los dispositivos móviles poseen un poder de cómputo,
almacenamiento y despliegue de información más limitada. Adicionalmente,
la fuente de energía de los dispositivos móviles son baterías, por lo que es
esencial el uso eficiente de los recursos.
3.2. Importancia de la materia
La importancia de la Programación Móvil radica en la óptica globalizada
para solución de problemas en los procesos de las empresas, pues es
necesario considerar el desglose en procedimientos y tareas que finalmente
son las que se automatizarán, a fin de optimizar todos los recursos que
dispone la empresa. desde el punto de vista funcional la programación
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 10
móvil es una herramienta o un lenguaje de programación que todo
profesional informático debe conocer ya que permite el desarrollo de la
lógica y experticia de manera gráfica y practica para la solución y control
a problemas planteados.
3.3. ¿Qué voy a encontrar en este documento?
La asignatura está estructurada en tres (3) unidades, en la unidad uno (1)
se pone en conocimiento del estudiante los Entornos de Programación Móvil
que es la base fundamental para su inicio en el mundo de la programación
móvil, en esta se tratara temas como entornos gráficos, emulador, uso del
Android manifest, entre otros.
Para la Unidad dos (2) Vista e interfaces de usuario, donde se abordará
elementos como el diseño estructurado de un programa, bloques
estructurados, usos correctos de los eventos que posee cada control del
entorno gráfico.
Para la unidad tres (3) se establece el uso de herramientas avanzadas
donde se permitirá crear una conexión de los datos obtenidos y
almacenarlos en base de datos, geolocalización y Sensores, en la cual se
utilizarán los componentes internos de nuestro dispositivo móvil como
cámara, GPS y sensores.
3.4. Objetivo de la guía didáctica
La presente guía es una compilación de información de fuentes
bibliográficas actualizadas y científicas que a la vez explican de manera
didáctica los contenidos más importantes de la asignatura.
El objetivo es brindar tanto a las/los estudiantes como al cuerpo docente,
un material de apoyo como guía de estudio que complemente a la
asignatura que se desarrolla en las aulas.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 11
4. PROFESOR AUTOR - PERFIL PROFESIONAL
Soy Leonel Fernando Peñarrieta Trujillo,
Tecnólogo en análisis de sistemas, Ingeniero
en Sistemas Informáticos.
Presidente de la empresa Creating Software
CIA. LTDA.
Perfil profesional me encuentro trabajando como desarrllador para la
Unidad de Gestión y Regulariación como servidor publico sp7, con el cargo
de especialista de Planificación Estratégica y Tecnología.
Soy desarrollador freelance dedicado a desarrollar programas o software
para empresas o particulares a la medida.
Actualmente coordino la asignatura de Programación Móvil, Programación
Web I y Programación Orientada a Objetos II. Espero que esta materia
pueda ayudar a nuestros estudiantes a desarrollar aplicaciones orientadas
a cualquier arquitectura que ayuden a dar solución a la necesidad de una
empresa u organización en general.
Me puedes contactar a través de leonel.penarrieta@cordillera.edu.ec
mailto:leonel.penarrieta@cordillera.edu.ec
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 12
El éxito no es la clave de la felicidad. La
felicidad es la clave del éxito. Si amas lo que
haces tendrás éxito. No te des por vencido por
más obstáculos que encuentres en tu caminar
lucha y supera cada uno de ellos y lograras
llegar al lugar tan ansiado, recuerda no estás
solo aquí estaremos para ayudarte a dar cada
paso.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 13
5. OBJETIVO DE LA ASIGNATURA
Desarrollar aplicaciones informáticas utilizando lenguajes de programación
estructurada y orientada a objetos, editar, compilar y ejecutar algoritmos
que permitan dar solución a los problemas analizados.
6. RESULTADO DE APRENDIZAJE
6.1. Cognitivo
• CIE1 Reconocer los componentes básicos del entorno gráfico
en el diseño de un aplicativo móvil y compararlos con productos ya
terminados.
• CIE2 Bosquejar una solución mediante la herramienta
multiplataforma para poder integrar los componentes físicos de un
dispositivo móvil y poder experimentar su funcionamiento.
6.2. Procedimental
• Código Aplicar los fundamentos del desarrollo móvil, utilizando
el lenguaje de programación con el fin de aprender su beneficio en
el desarrollo.
• PIE2 Programar aplicaciones de software para dispositivos
móviles mediante la herramienta multiplataforma para tener un
aplicativo funcional que se utilice los dispositivos internos de un sistema
operativo móvil.
6.3. Actitudinal
• Código Utilizar las herramientas tecnológicas para el
mejoramiento de las actividades laborales (eficiencia).
• AIE2 Investigar las tendencias y plataformas actuales en
adaptación de contenidos para dispositivos móviles.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 14
6.4. Valores
• Respeto VIE1 Tratar adecuadamente a las personas
escuchando los fundamentos y puntos de vista individuales, aceptando
opiniones y comportamientos del entorno social. Respeto: Acepta las
diferencias individuales y grupales sin querer imponer su opinión como
la única válida.
• Amor VIE2 Compromiso ético de brindar ayuda de forma
incondicional a los que nos rodean con el objetivo de potenciar su
desarrollo profesional, bienestar y felicidad personal, a través de una
autentica preocupación por el otro. Siempre se tiene presente que los
DEMÁS, REALMENTE NOS IMPORTA
• Innovación VIE3 Generar de forma creativa propuesta de mejora
para la gestión académica, organizacional y tecnológica que
conduzcan al crecimiento y desarrollo institucional.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 15
UNIDAD 1
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 16
7. UNIDAD 1
7.1. Bloques fundamentales de una APP
El uso continuo de aplicaciones en nuestros moviles o tablets se ha convertido
en parte primordial de nuestras vida cotidiana, no solo utilizamos estas apps
en nuestros moviles sino que tambien las podemos utlizar en cualquier
equipo inteliigente (smart tv, refrigeradoras, microondas, computadoras,
etc.), haciedo que la vida del ser humano sea vea inmerso en la utilizacion
de cualquier app ya sea para realizar pagos, comprar, vender, etc.
Para empezar en el dearrollo de una aplicación movil hay que enteder los
conceptos claro de programación y de app.
Programacion: Es ordenar, estructurar o componer una serie de acciones
(algoritmos) cronológicas para cumplir un objetivo.
App: El término app significa aplicación. De hecho, es la abreviatura de la
palabra aplication en inglés. Las apps son herramientas de software escritas
en distintos lenguajes de programación (según el desarrollador que la
programe) para teléfonos inteligentes -o smartphones´ y tablets. Se
caracterizan por ser útiles, dinámicas y fáciles de instalar y manejar.
SABIAS QUE.
Los orígenes de las apps móviles se remontan a los años 90 con la
irrupción de los teléfonos móviles a nivel mundial.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 17
7.1.1. Introducción
La programación móvil es desarrollar aplicaciones para aparatos como
celuares, smartphones, PDA’s, PocketPC’s y dispositivos con recursos
limitados. Hay que ser claros en la diferencia entre programación móvil y
programación embebida, que son cosas parecidad (recursos limitados) pero
distintas en esencia.
Encasi culuier ambito de programación que escojas, hoy en dia tienes
disponibles inifiniades de herramientas, lenguajs y entornos que puedes
elegir.
En el mundo del desarrollo para moviles y tablestas pasa lo mismo.
Actualmente dispones de muchas opciones si te quieres dedicar a este
ámbito y en concreto debes elegir entre:
Los lenguajes y herramientas nativos de cada plataforma.
Herramientas multiplataforma que compilan a código nativo.
Herramientas multiplataforma en html.
Figura 1 DMCA. Ilustración de aplicaciones móviles [Figura] Recuperado de
https://www.pngwing.com/es/free-png-xirhe
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 18
7.1.2. Programación Nativa
El código nativo es una forma de código de la programación de
computadora que se configura para funcionar con el uso de un procesador
especificado en este caso para una arquitectura movil (Android e IOS).
Es adecuado aclarar que un desarrollo nativo es crear aplicaciones
netamente u orientadas para Android o IOS, cada una de ellas utiliza un
lenguaje de prgramación diferente, herramientas propias y paradigmas de
programación particulares. A cambio obtienes la máxima flexibilidad,
adaptación total al entorno en el que se ejecutan las aplicaciones y el
máximo rendimeinto.
La desventaja principal es uqe tienes que dominar muchos lenguajes y
herramientas y ademas el tiempo de desarrollo se multiplica mucho, pues es
necesario crear desde cero dos aplicación una en Android y otra en IOS.
Nota importante:
Si decides especializarte en IOS y programar para la plataforma de
iPhone y iPad, entonces debes aprender a programar con Objective-
C o Swift y utilizar XCode y adquirir un ordenador Mac.
Para Android es necesario utilizar Android Studio como IDE de
desarrollo y como lenguaje de programación Java.
Material complementario:
Programación Móvil.
https://sway.office.com/BM7YFz8uP9dwYGOm?ref=Link
https://sway.office.com/BM7YFz8uP9dwYGOm?ref=Link
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 19
Dentro del desarrollo de aplicaciones moviles o Apps se necesita conocer
principalmente la arquitectura del sistema operativo para el cual va ir
enfocado el desarrollo hablando de Android e IOS.
7.1.3. Arquitectura del Sistema operativo
Cada sistema operativo en cuanto a dispositivos móviles, Tablet, etc., tiene
su arquitectura que hacen que funcionen sus componentes internos y externos
del dispositivo para ello hay que entender como esta compuesto y que se
pude utilizar dentro del dispositivo en cuestión.
7.1.2. Arquitectura Android
Android es una pila de software de código abierto basado en Linux para
una gran variedad de dispositivos a continuación se muestra la arquitectura
del S.O.
La base de la plataforma Android es el kernel de Linux. Por ejemplo, el
tiempo de ejecución de Android (ART) se basa en el kernel de Linux para
funcionalidades subyacentes, como la generación de subprocesos y la
administración de memoria de bajo nivel.
El uso del kernel de Linux permite que Android aproveche funciones de
seguridad claves y, al mismo tiempo, permite a los fabricantes de
dispositivos desarrollar controladores de hardware para un kernel
conocido.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 20
Figura 2 Developers. Pila de software de Android [Figura] Recuperado de
https://developer.android.com/guide/platform?hl=es-
419#:~:text=Android%20es%20una%20pila%20de,principales%20de%20la%20plataf
orma%20Android.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 21
7.1.3. Arquitectura IOS
La arquitectura iOS está basada en capas o niveles, donde las más altas
contienen los servicios y tecnologías más importantes para el desarrollo de
aplicaciones, y las capas más bajas controlan los servicios básicos.
Figura 3 Karen Melissa Rojas Lizarazo. Arquitectura IOS [Figura] Recuperado de Revista
Facultad de Ingeniería, UPTC, Julio-Diciembre de 2011, Vol. 20, No.
Capa Core OS: bluetooth, accesorios externos, acelerar marco, seguridad,
etc.
Capa Core Services: libreta de direcciones, Kit Framework, Marco Social,
etc.
Capa Media: Gráfico ULKit, Graphics Framework, Media Player, Kit Av,
Open AL, Imágenes, etc.
Capa Cocoa Touch: Interfaz del usuario.
Dentro del desarrollo de aplicaciones móviles hay que definir muy bien con
que herramienta y que le lenguaje de programación se va a empezar a
desarrollar ya que en la actualidad hay muchas formas y herramientas de
cómo desarrollar aplicaciones que pueden ser Frameworks, aplicaciones
pagadas, Nativo, etc.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 22
Teniendo en cuenta todo esto y de acuerdo a tus conocimientos se
recomienda utilizar cada una de estas herramientas y lenguajes de
programación existentes a continuación te mostrare un gráfico que puede
ayudarte a tomar la elección de acuerdo a tus capacidades.
Figura 4 Microsoft. Diagrama elección desarrollo móvil [Figura] Recuperado
https://sway.office.com/BM7YFz8uP9dwYGOm?ref=Link
En esta guía vamos a utilizar un Framework que nos permitirá desarrollar
aplicaciones móviles de forma nativa cross platform es decir que mediante
un solo desarrollo podemos compilar la aplicación a Android e IOS de
forma nativa.
Xamarin es una herramienta para los desarrolladores de aplicaciones
móviles, y la novedad de esta herramienta es la capacidad que tiene para
que el desarrollador escriba su app en lenguaje C# y el mismo código sea
traducido para ejecutarse en iOS, Android y Windows Phone.
C# es el lenguaje consentido de Microsoft, por lo tanto es muy popular
dentro de los programadores .NET, pero aunque este lenguaje sea muy
popular existe una desventaja al momento de crear aplicaciones móviles.
https://sway.office.com/BM7YFz8uP9dwYGOm?ref=Link
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 23
Para crear aplicaciones iOS se necesitan escribir código en Objetive-C y
para crear Apps Android necesitamos conocer Java; Xamarin viene a
unificar estas diferencias con su IDE Xamarin Studio, ya que solamente
necesitamos dominar C# para crear aplicaciones iOS, Android y Windows
Phone.
7.2. Bloques Fundamentales De Una App
7.2.1. Layouts y controles básicos
Las páginas de Xamarin.forms representan pantallas de aplicaciones
móviles multiplataforma. Todos los tipos de página que se describen a
continuación se derivan de Xamarin.forms Page clase. Estos elementos
visuales ocupan todos o la mayoría de la pantalla. Un Page objeto
representa un ViewController en iOS y un Page en la plataforma Universal
de Windows. En Android, cada página ocupa la pantalla como una Activity,
pero las páginas de Xamarin.forms no son Activity objetos.
Dentro de estos componentes tenemos dos grandes tipos de diseños que se
pueden utilizar y hay que tener en cuenta como se inicio y como podemos
utilizarlas en conjunto dentro del desarrollo y diseño de la interfaz gráfica.
Nota importante:
Según 3Androides Technology S.L.U. el Framework de desarrollo
Xamarin está considerado dentro de los 10 Framework más utilizado
por los desarrolladores a nivel mundial en la creación de aplicaciones
móviles.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 24
7.2.1.1. Páginas
Estas páginas son las encargadas de dar la estructura principal a la
aplicación que vamos a desarrollar para así poder empezar a ir diseñando
la interfaz de usuario final con la que la aplicación finalizara dentro de las
cuales tenemos las siguientes páginas de acuerdo a la documentación oficial
de Xamarin.forms.
Figura 5 Microsoft. Páginas de Xamarin Forms [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/pages
7.2.1.2. Diseño de página
Son subtipos especializados de vistas que actúan como contenedores para
vistas y otros diseños. Estos diseños están creados especialmente para poder
ir ubicando cada uno de los componentes que conformaran nuestra interfaz
grafica de la aplicación en la que estemos desarrollando así podremos
ubicar una imagen, un texto, un botón en la posición en que necesitemos de
acuerdo a los requerimientos del usuario o de la aplicación. Dentro de la
cual tenemos los siguientes diseños y sus respectivos métodos de utilización.
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/pages
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 25
Figura 6 Microsoft. Diseño de páginas de Xamarin Forms [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/layouts
Hay que mencionar que tanto la página como el diseño siempre van
agarrados de la mano el uno no puede funcionar sin el otro por eso siempre
se debe escoger primero el tiempo de página y luego el diseño con el cual
se va a empezar a diseñar la interfaz gráfica.
7.2.1.3. Componentes
Las vistas son objetos de la interfaz de usuario, como etiquetas, botones y
controles deslizantes que normalmente se conocen como controles o widgets
en otros entornos de programación gráficos. Todas las vistas compatibles
con Xamarin.forms derivan de la clase View. Pueden dividirse en varias
categorías:
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 26
Componentes para presentación
Figura 7 Microsoft. Componente de etiquetas [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/views
Componentes que inician comandos
Figura 8 Microsoft. Componentes de comandos [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/views
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 27
Componentes para establecer valores
Figura 9 Microsoft. Componentes de valores [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/views
Componentes para editar textos
Figura 10 Microsoft. Componentes de textos [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/views
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 28
Componentes de colecciones
Figura 11 Microsoft. Componentes de colecciones [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/views
7.3. Conociendo Xamarin.forms
7.3.1. Layouts y controles básicos
Xamarin es una herramienta para los desarrolladores de aplicaciones
móviles, y la novedad de esta herramienta es la capacidad que tiene para
que el desarrollador escriba su app en lenguaje C# y el mismo código sea
traducido para ejecutarse en iOS, Android y Windows Phone.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 29
Al momento de empezar a crear
aplicaciones con Xamarin.forms
debemos tener en cuenta su
arquitectura y que es lo que podemos
encontrar dentro de nuestro proyecto.
La solución creada se compone de 3
proyectos, o 4 proyectos si creas la
aplicación desde Visual Studio en
Windows. El primer proyecto es el PCL,
es el proyecto más importante en una
aplicación desarrollada con Xamarin
Forms, ya que contiene el código que se
compilará para funcionar en Android y iOS.
También encontrarás proyectos iOS y Android (tal vez Windows), para que
puedas agregar funcionalidades nativas, aunque en el caso de
Xamarin.forms, raramente utilizarás. Toda la interfaz y lógica de la
aplicación la podemos crear desde el proyecto PCL y es justo lo que
haremos ahora.
Una de las cosas
geniales de utilizar
Xamarin.forms, no
sólo es poder
compartir código
C#, sino que puedes
compartir código
XAML para definir la interfaz de Android y iOS solamente una vez.
Comencemos justamente definiendo la interfaz para nuestra aplicación
abriendo el archivo MainPage.xaml.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 30
XAML es un lenguaje de marcado, similar a HTML o XML, así que, si tienes
experiencia en alguno de esos lenguajes, XAML te será muy familiar. La
MainPage por defecto está conformada por un ContentPage que contiene
un Label.
Para definir nuestra aplicación Hola Mundo cambiaremos el contenido del
ContentPage para que sea un Grid en lugar del label. Este contenedor nos
permitirá tener varios elementos en la interfaz, cosa que el ContentPage no
permite por sí sólo.
Dentro del Grid podrás definir un nuevo Label y establecer su contenido a
algo como “Escribe tu nombre”, en un momento agregaremos una caja de
texto para que el usuario escriba su nombre en ella. Nota que la definición
requiere una etiqueta de apertura y una de término de la definición.
Figura 12 Código Xamel
Define debajo del Label un Entry, en este caso la definición es más corta.
Nota que la etiqueta de cierre puede contener simplemente “/>” si no
definimos contenido. Este Entry deberá tener un nombre para que a través
de él accedamos a el elemento desde el código C#.
Figura 13 Código Xamel
la etiqueta x:NAme="nombreTextCell" es el identificador que se le dará a
esta variable para ser utilizada dentro de la programación. (x:Name se
utiliza en todos los controles para poderle dar un nombre de identificador).
Finalmente define un Button debajo del Entry, en este caso necesitaremos
manejar el evento de click, es decir, responder cuando el usuario presiona
sobre el botón, para eso podemos definir un nombre para el evento Clicked.
Cuando lo hagamos, automáticamente se creará un método en el archivo
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 31
MainPage.xaml.cs que se ejecutará cada que el usuario presione en el
botón. Además, el botón deberá tener un texto como llamada de acción.
Figura 14 Código Xamel
al momento de utilizar el inteligent del propio IDE, al momento de crear el
Clicked=" " nos crea un método público con el nombre por defecto
"Button_Clicked" para poder llamar la acción que va a ejecutar ese botón.
Finalmente, podemos abrir el archivo C# de la misma clase donde el método
se creó automáticamente y agregar una línea de código que nos permita
mostrar un mensaje personalizado al usuario.
Figura 15 Código Visual C#
Estos símbolos {} me permiten capturar el nombre del identificador de cada
uno de los complementos swing del diseño xaml.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 32
Teniendo esto, puedes probar la
aplicación en iOS y Android, nota que los
elementos se adaptan a el Sistema
Operativo para mostrarlos en su forma
nativa, aun cuando sólo los definimos una
vez, y que el código C# funciona
perfectamente en ambas plataformas.
Figura 16 Ejecución Aplicación
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 33
7.4. ACTIVADES DE LA UNIDAD 1
7.4.1. Actividades de aprendizaje en contacto con el docente
A. GLOSARIO DE TÉRMINOS TÉCNICOS
7.4.1.1. Descripción
Para realizar esta actividad cada estudiante debera realizar una entrada
de un termino tecnico con su respectiva definicion y ejemplo de utlizacion
del termino tecnico:
1. Leer la página oficial de Xamarin.forms Vistas - Xamarin | Microsoft Docs.
para ayuda en cuanto a los términos técnicos.
2. Llegar a un consenso de que termino subir teniendo en cuanta que no se
repita dentro de la lista de términos que están en el glosario.
3. Escribir una entrada sobre el término que va ubicar dentro del apartado
teniendo en cuenta su título, descripción y ejemplo.
Instrucciones importantes el ejemplo de cómo deben subir las entradas
serian así:
“Label
Muestra cadenas de texto de una sola línea o bloques de texto de varias
líneas, con un formato constante o variable. Ejemplo:
”.
7.4.1.2. Recursos
Dispositivo tecnológico (Computador, Smartphone, otro que te ingresar a
la documentacion de Xamarin.forms).
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-interface/controls/views#views-that-display-collections
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 34
7.4.1.3. Resultados esperados
Aportar de manera significativa nuevos términos útiles para enriquecer
nuestro lenguaje técnico.
Demostrar
Actuar
Comprender.
7.4.1.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Contenido (250 palabras +_ 10 palabras). 2
Redacción y ortografía. 2
Aporte de acuerdo a la fuente de consulta que haya elegido. 2
Comentario a los compañeros. 2
Citas bibliográficas. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 35
7.4.2. Actividad de aprendizaje autónomo (Aula Virtual)
A. MI PRIMERA APLICACIÓN MÓVIL (CALCULADORA BÁSICA)
7.4.2.1. Descripción
Desarrollar una aplicación movil que pueda realizar las 4 operaciones
basicas (Sumar, Restar, Dividir y Multiplicar).
1. Leer la documentación sobre los componentes básicos de una interfaz de
usuario en el desarrollo de aplicaciones móviles.
2. Utilizar la herramienta de desarrollo Visual Studio Community, Crear un
aplicativo en la arquitectura Xamarin.forms con el nombre:
LFPT_actividad1 (LFPT: siglas de sus nombres completos).
3. Todos los componentes utilizados dentro del desarrollo como: variables,
funciones, métodos, vistas y componentes de las vistas deben ser
nombradas con sus iniciales de sus nombres seguido del nombre del
componente a ser utilizado ejemplo: LFPT_contador2, LFPT_funcionSumar,
LFPT_vista1, etc.
4. Una vez terminado el proyecto deben entregar un documento PDF que
contenga: Capturas del código fuente, capturas del aplicativo funcionando
y el link del proyecto subido a un repositorio digital (Mega, OneDrive,
Drive, etc.).
Importante si el documento que intenta subir es demasiado grande se solicita
que cree otro documento PDF que contenga los links a los archivos solicitado.
7.4.2.2. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 36
7.4.2.3. Resultados esperados
El estudiante aplique los fundamentos del desarrollo de aplicaciones
móviles para desarrollar APP’s.
7.4.2.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 37
7.4.3. Actividad de aprendizaje práctico - experimental
A. DISEÑO DE INTERFACES DE USUARIO. (LOGIN)
7.4.3.1. Descripción
Desarrollar un aplicativo movil que permita ingresar un suaurio y contraseña
para ingresar a la parte de administracion.
La sigueinte actividad debe contener lo siguiente:
1. Utilizar la herramienta de desarrollo Visual Studio Community, Crear un
aplicativo en la arquitectura Xamarin.forms con el nombre:
LFPT_actividad1 (LFPT: siglas de sus nombres completos).
2. Todos los componentes utilizados dentro del desarrollo como: variables,
funciones, métodos, vistas y componentes de las vistas deben ser
nombradas con sus iniciales de sus nombres seguido del nombre del
componente a ser utilizado ejemplo: LFPT_contador2, LFPT_funcionSumar,
LFPT_vista1, etc.
3. La funcionalidad del aplicativo debe contener los siguientes aspectos:
a. Debe permitir validar un usuario y contraseña una ves validado
debe ingresar y mostrar una nueva pantalla.
b. El diseño de la pantalla principal del “Login” debe ser lo mas
parecido a la interfaz siguiente.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 38
5. Una vez terminado el proyecto deben entregar un documento PDF que
contenga: Capturas del código fuente, capturas del aplicativo funcionando
y el link del proyecto subido a un repositorio digital (Mega, OneDrive,
Drive, etc.).
Importante si el documento que intenta subir es demasiado grande se solicita
que cree otro documento PDF que contenga los links a los archivos solicitado.
7.4.3.2. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
7.4.3.3. Resultados esperados
El estudiante aplique los fundamentos del desarrollo de aplicaciones
móviles para desarrollar APP’s.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 39
7.4.3.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
7.5. EVALUACIÓN DEL APRENDIZAJE DE LA UNIDAD 1
7.5.1. Evaluación actividades de docencia
Dentro del trabajo docente se considerará la asistencia a clases. Este
componente equivaldrá al 25% de la calificación total del parcial.
7.5.2. Evaluación actividades practico experimental
En este componente se tomará en cuenta el. Esta actividad permitirá
evidenciar la aplicación de lo aprendido con. La ponderación de esta
actividad será del 20% de la calificación total del parcial.
7.5.3. Evaluación actividades de trabajo autónomo
Para el trabajo autónomo se tomará en cuenta. Esta actividad permitirá
aplicar los conceptos clave. Este componente equivaldrá al 20% de la
calificación total del parcial.
7.5.4. Examen
Al culminar el primer parcial se deberá rendir un examen acumulativo de
base estructurada el cual equivaldrá al 35% del puntaje total del primer
parcial. El examen bimestral es de carácter individual, le sugerimos que
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 40
antes de iniciar tome todas las precauciones necesarias para que nada
vaya a interrumpirle ya que se ha configurado para que solamente tenga
una oportunidad de contestar en su totalidad todo el cuestionario una vez
accione el inicio del mismo. Dispone de un tiempo específico (45 minutos)
para responder las preguntas que se le asignarán de manera automática.
El examen será valorado sobre 10 puntos. Únicamente existe una respuesta
correcta por cada pregunta.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 41
UNIDAD 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 42
8. UNIDAD 2
8.1. Uso de controles avanzados
La utilizacion de ocntroles avanzados dentro del desarrollo de aplicaciones
moviles es de suma importancia para las organizaciones yq que en el día
alctual toda organizacion o regla del negocio o nicho de mercado tiene
datos en otras plabras tienen información almacenada ya sea de sus cliente,
de sus productos, de sus ventas etc.
El motivo de pasar sus procesos a un dispositivo movil es principal mente la
usabilidad al moento de llevar sus procesos a cualquier parte del pais de
donde se encuentren ubicados, por ejemplo un empresa de entrega puede
realizar pedidos a bodega desde un dispositivo móvil.
8.1.1. Base de Datos SQLite.
Una base de datos es un “almacén” que nos permite guardar grandes
cantidades de información de forma organizada para que luego podamos
encontrar y utilizar fácilmente. A continuación te presentamos una guía que
te explicará el concepto y características de las bases de datos.
El código de SQLite es de dominio público y de uso gratuito, sea para
propósito comercial o privado.
SABIAS QUE.
El uso de un aplicativo móvil dentro de los procesos institucionales ya
no solo es un uso pernal para redes sociales, si no que ya es de uso
empresarial para ejecutar transacciones, procesos, pedidos, etc.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 43
Nos permite a las aplicaciones de Xamarin cargar y guardar datos como
objetos en código compartido.
Figura 17 Móvil, aplicativo funcional.
Cada base de datos se compone de una o más tablas que guarda un
conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas
guardan una parte de la información sobre cada elemento que queramos
guardar en la tabla, cada fila de la tabla conforma un registro.
Se define una base de datos como una serie de datos organizados y
relacionados entre sí, los cuales son recolectados y explotados por los
sistemas de información de una empresa o negocio en particular.
Nota importante:
Una base de datos se puede definir como un conjunto de información
relacionada que se encuentra agrupada ó estructurada.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 44
A continuación se moestrara un ejepmlo de la utilizacion de una base de
datos en dentro de un aplicativo movil.
1. Primero vamos a construir nuestro proyecto en Xamarin. Forms.
2. Una ves creado nuestro proyecto procedemos a crear las sigueintes
dependencias, insltalar el nuget Sqlite.plc.net.
3. Una vez instaldo el nuget mensionado en el punto anterior lo sigueinte es
realizar la creacion de la base de datos.
Figura 18 BD, Conexión BD Sqlite.
4. Despues creamos un clase llamada TodoItmemDataBase para almacenar
la conexión a la B.D y poder acceder a la ruta de conexión y ejecutar las
consultas SQL.
Material complementario:
Una base de datos ligera.
https://www.maestrosdelweb.com/que-son-las-bases-de-datos/
https://www.maestrosdelweb.com/que-son-las-bases-de-datos/
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 45
Figura 19 BD, Ingreso a la B.D.
5. Luego creamos los metodos que nos permititran ejecutar las sintexis SQL
dentro de nuestro aplicativo móvil.
Figura 20 BD, CRUD base de datos.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 46
8.2. Consumo de WebServices
Un web service o servicio web es un software con un formato basado en
texto que funciona con Internet. Este sistema se encarga de permitir la
transmisión de solicitudes y respuestas entre diferentes servidores o
aplicaciones, sin importar las diferencias que existan entre los lenguajes de
programación en el que fueron desarrolladas o la plataforma en la que se
ejecutan.
En otras palabras, un WebServices es, como su nombre lo indica, un servicio
que hace posible la comunicación de máquina a máquina y el intercambio
de datos entre aplicaciones a través de una red de Internet.
No se puede mencionar el término "web services" hoy en día sin evocar
inmediatamente referencias como Amazon Web Services (AWS) o el
servicio web de Google. Estos gigantes tecnológicos se han llevado el trofeo
al abordar la necesidad de desarrollo de aplicaciones. La escala de
empresas como Amazon y Google es exactamente lo que hace posible los
servicios web modernos.
8.2.1. Estándares que emplea para funcionar.
SOAP: El protocolo SOAP (Simple Object Access Protocol) está escrito en
XML y es un formato para enviar mensajes que sirve para intercambiar la
información entre las aplicaciones. Fue diseñado especialmente para la
comunicación en Internet y gracias a este protocolo puedes acceder a un
web service.
WSDL: WSDL (Web Services Description Language) es un lenguaje basado
en XML de los requisitos funcionales necesarios para establecer una
comunicación con los servicios web. Este lenguaje es el formato estándar que
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 47
se utiliza para describir los servicios web y cómo acceder a ellos, y fue
diseñado por Microsoft e IBM.
RESTful: Es uno de los tipos de web service que proporciona comunicación
y conectividad entre dispositivos e Internet para tareas basadas en API. La
mayoría de los servicios RESTful utilizan HTTP como protocolo de soporte.
8.3. Notificaciones locales y Broadcast Receivers.
Un Broadcast Receiver puede verse como un listener que atiende a eventos
del sistema, esto es, lanzados por el sistema operativo, o bien a eventos
lanzados por aplicaciones. Además, el evento puede incluir información
adicional en un Intent. Nos encontramos por tanto ante un mecanismo que
nos permitirá integrar aplicaciones entre sí y/o con Android, pero también
establecer un canal de comunicación interno entre componentes (activities,
fragments…) de una misma app. En el presente tutorial veremos una
introducción a las posibiliaddes que nos ofrece la utilización de este
componente.
8.3.1. Notificaciones Broadcast
Las apps de Android pueden enviar o recibir mensajes de emisión desde el
sistema de Android y otras apps para Android, de forma similar al patrón
de diseño de publicación y suscripción. Estas emisiones se envían cuando
SABIAS QUE.
Google proporciona una interfaz de servicio web basada en SOAP a
su motor de búsqueda público para acceder a sus recursos en un modelo
de servicios web. De hecho, este web servicies se denomina API web de
Google.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 48
ocurre un evento de interés. Por ejemplo, el sistema Android envía emisiones
cuando ocurren diferentes eventos del sistema, como cuando este se inicia o
cuando el dispositivo comienza a cargarse. Las apps también pueden enviar
emisiones personalizadas, por ejemplo, para notificar a otras apps sobre
algo que podría interesarles (como cuando se descargaron algunos datos
nuevos).
A medida que la plataforma de Android evoluciona, cambia
periódicamente el comportamiento de las emisiones del sistema. Ten en
cuenta los siguientes cambios si tu app se orienta a Android 7.0 (API nivel
24) o una versión posterior, o si está instalada en dispositivos con Android
7.0 o una versión posterior.
Para declarar un receptor de emisión en el manifiesto, realiza los siguientes
pasos:
1. Especifica el elemento en el manifiesto de tu app.
Figura 21, Crear notificación
2. Crea la subclase BroadcastReceiver y, luego, implementa
onReceive(Context, Intent). El receptor de emisión del siguiente ejemplo
registra y muestra el contenido de la emisión:
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 49
Figura 22 Llamar notificación
Ejemplo de notificación
Figura 23, Ejemplo de notificación
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 50
8.3.2. Notificaciones Locales
Las notificaciones locales y remotas permiten a estas apps notificar a sus
usuarios cuando ocurre algún suceso de su interés. Cuando se recibe una
notificación, el usuario puede ignorarla, y se guarda en el centro de
notificaciones. O puede interactuar con ella, desplegándola y seleccionando
una de las opciones estándar (Abrir, Borrar o Ver).
Una notificación local es planificada y enviada por la propia app, cuando
está en funcionamiento o cuando está en background recogiendo datos de
un servidor y recibe alguna información interesante.
Las notificaciones locales son creadas por la propia app y el sistema es
responsable de lanzarlas en la fecha y hora planificada. La app no tiene
que estar en marcha para que esto suceda.
Con una notificación local se puede hacer lo mismo que con una remota:
mostrar alertas, ejecutar sonidos o añadir globos al icono del app.
Se usan principalmente en apps con conductas basadas en temporizadores
y en apps sencillas de calendarios o de listas de to-do. Una app que está
ejecutándose en background también puede planificar una notificación
para informar al usuario de que ha llegado un mensaje, un chat o se ha
actualizado algún estado.
La creación de una nueva notificación se realiza con la clase
UNNotificationRequest, indicando los siguientes elementos:
Identificador (identifier: String) que identifica de forma única la petición
de notificación.
Contenido de la notificación (content: UNNotificationContent)
Condiciones que disparan la notificación (trigger: UNNotificationTrigger?)
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 51
Figura 24, Crear notificación local.
Figura 25, Vista de la notificación local.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 52
8.4. ACTIVADES DE LA UNIDAD 2
8.4.1. Actividades de aprendizaje en contacto con el docente
A. APLICATIVO CON BASE DE DATOS
8.4.1.1. Descripción
Desarrollar un aplicativo movil que contenga la siguiente informacion:
4. Login
5. Menu desplegable.
6. Base de datos local (SQLite).
7. Realizar las operaciones básicas CRUD.
El aplicativo móvil que se desarrollará deberá tener un usuario y contraseña
para poder acceder al menú lateral y poder realizar el CRUD en la base
de datos de la agenda telefónica.
8.4.1.2. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
8.4.1.3. Resultados esperados
Generar la app que realicé lo solicitado.
8.4.1.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 53
B. APLICATIVO CON WEBSERVICES
8.4.1.5. Descripción
Desarrollar aplicaciones móviles utilizando herramientas nativas para
satisfacer una necesidad social/empresarial que contenga la siguiente
información.
8. Login.
9. Menú desplegable.
10. Consumir WebServices de países.
Desarrollar un aplicativo móvil multiplataforma que permita consumir
información de un WebServices para la visualización de la lista de países
8.4.1.6. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
8.4.1.7. Resultados esperados
Desarrollar un aplicativo móvil multiplataforma que permita consumir un
WebServices para visualizar la lista de países (WebServices gratuito).
8.4.1.8. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 54
8.4.2. Actividad de aprendizaje autónomo
A. APLICATIVO CON NOTIFICACIONES
8.4.2.1. Descripción
Desarrollar aplicaciones móviles que permitan utilizar recursos de base de
datos para mejorar los procesos de las organizaciones que contenga la
sigueinte información.
11. La utilización de un servicio (Cámara, micrófono, GPS, etc.).
12. Notificaciones Broadcast Receivers.
Desarrollar un aplicativo móvil multiplataforma que permita enviar
notificaciones locales y que permita utilizar la cámara, bluetooth, GPS, etc..
8.4.2.2. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
8.4.2.3. Resultados esperados
Desarrollar un aplicativo móvil multiplataforma que permita enviar
notificaciones locales y que permita utilizar la cámara, bluetooth, GPS, etc.
8.4.2.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 55
8.5. EVALUACIÓN DEL APRENDIZAJE DE LA UNIDAD 2
8.5.1. Evaluación actividades de docencia
Dentro del trabajo docente se considerará la asistencia a clases, el tener
en, Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus
lectus malesuada libero, sit amet commodo magna eros quis urna. Nunc
viverra imperdiet enim. Este componente equivaldrá al 25% de la
calificación total del parcial.
8.5.2. Evaluación actividades practico experimental
En este componente se tomará en cuenta el Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce
posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet
commodo magna eros quis urna. Nunc viverra imperdiet enim. Esta actividad
permitirá evidenciar la aplicación de lo aprendido con respecto Lorem
ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue
massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada
libero, sit amet commodo magna eros quis urna. Nunc viverra imperdiet
enim.. La ponderación de esta actividad será del 20% de la calificación
total del parcial.
8.5.3. Evaluación actividades de trabajo autónomo
Para el trabajo autónomo se tomará en cuenta el Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce
posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet
commodo magna eros quis urna. Nunc viverra imperdiet enim. Esta actividad
permitirá aplicar los conceptos clave sobre Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 56
posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet
commodo magna eros quis urna. Nunc viverra imperdiet enim.. Este
componente equivaldrá al 20% de la calificación total del parcial.
8.5.4. Examen
Al culminar el primer parcial se deberá rendir un examen acumulativo de
base estructurada el cual equivaldrá al 35% del puntaje total del primer
parcial. El examen bimestral es de carácter individual, le sugerimos que
antes de iniciar tome todas las precauciones necesarias para que nada
vaya a interrumpirle ya que se ha configurado para que solamente tenga
una oportunidad de contestar en su totalidad todo el cuestionario una vez
accione el inicio del mismo. Dispone de un tiempo específico (45 minutos)
para responder las preguntas que se le asignarán de manera automática.
El examen será valorado sobre 10 puntos. Únicamente existe una respuesta
correcta por cada pregunta.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 57
UNIDAD 3
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 58
9. UNIDAD 3
9.1. Geolocalización
De seguro piensas que solo se trata de saber tu ubicación en un mapa.
Piensas que te pueden espiar y triangular una serie de datos por solo
activar o desactivar el GPS de tu celular. No obstante, la geolocalización
proviene de más fuentes. Existen muchas tecnologías aptas para determinar
la geolocalización de una persona. Para escalarse toda información
desconocida y conocer que usos adecuados debe tener la geolocalización.
9.1.1. GPS
Global Positioning System, GPS en resumen, es un sistema de navegación
por radio basado en satélite que consta de aproximadamente treinta
satélites orbitando la Tierra. Originalmente fue desarrollado para la
navegación militar. No obstante, hoy cualquier persona con un dispositivo
GPS puede recibir señales de radio que estos satélites transmiten.
Una gran ventaja del GPS es su precisión. Puede rastrear sus activos con
GPS con mucha precisión, ya que puede localizar algo de hasta cinco metros
con precisión. Además, funciona en todas partes al aire libre y no se
requiere infraestructura específica.
SABIAS QUE.
Según Security Boulevard, la geolocalización “es la identificación de
la ubicación geográfica a partir de un dispositivo conectado a
Internet”.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 59
La geolocalización junto con las aplicaciones móviles multiplataforma
proporciona la base para mejorar las experiencias de los clientes. Por tanto,
presenta oportunidades para que las empresas fusionen la ubicación con la
información en servicios, como el mismo control de asistencia.
A continuacion mostraremos un pequeño ejemplo de esta utilización dentro
de un dispositivo móvil.
Primero debemos crear nuestro proyecto en xamarin.forms
Luego instalamos el Nuget Xam.Plugin.Geolocatior, Xamarin.Esscential.
Activamos los permisos para utilizar el GPS dentro de nuestro poyecto en
el archivo androidManifest. (ACCESS_FINE_LOCATION).
Creamos la vista en la que vamos a capturar la información.
Nota importante:
De acuerdo con Isaca, los beneficios de un uso correcto de la
geolocalización son de largo alcance. Son útiles para todo tipo de
empresa: manufactura, comercio minorista, servicios financieros.
También en transporte, servicios públicos y gobiernos.
Material complementario:
Funcionamiento del GPS:
https://www.youtube.com/watch?v=8tL-UBNsCv8
https://www.youtube.com/watch?v=8tL-UBNsCv8
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 60
Figura 26, Vista de geolocalización.
Una ves creada la vista comenzamos a progrmar para que la informacion
se pueda visualizar en la vista creada anteriormente.
Figura 27, Programación de geolocalización.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 61
Si se quiere visualizar la informacion en un mapa seria de esta forma la
codificiación.
Figura 28, Programación de geolocalización llamar mapa.
9.2. Sensores
La mayoría de los dispositivos con Android tienen sensores integrados que
miden el movimiento, la orientación y diversas condiciones ambientales. Estos
sensores son capaces de proporcionar datos sin procesar con alta precisión
y exactitud, y son útiles para supervisar el movimiento o posicionamiento
tridimensional del dispositivo, o si quieres supervisar los cambios en el
entorno ambiental cerca de un dispositivo. Por ejemplo, un juego puede
hacer un seguimiento de las lecturas del sensor de gravedad de un
dispositivo para inferir gestos y movimientos complejos del usuario, como
inclinación, agitación, rotación o balanceo. Del mismo modo, una aplicación
meteorológica podría usar el sensor de temperatura y el sensor de
humedad de un dispositivo para calcular e informar el punto de
condensación, o una aplicación de viaje podría usar el sensor de campo
geomagnético y el acelerómetro para informar la dirección de una brújula.
SABIAS QUE.
Lector de huellas dactilares, acelerómetro, magnetómetro, o sensor
de proximidad o luz ambiente. Todos ellos son sensores que puedes
encontrarte en tu smartphone
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 62
Cuando se presenta un nuevo dispositivo, en su ficha completa podrás
encontrarte una lista de todos los sensores que incluye. Algunos son comunes
y hoy en día los tienen casi todos los móviles, como el GPS, el giroscopio o
el sensor de proximidad, pero también hay otros como el lector de iris o el
sensor infrarrojo por los que no apuestan todos los fabricantes.
Entonces, cuando luego volvemos a poner el dedo encima el móvil puede
comparar las líneas y saber si realmente somos nosotros o es otra persona.
Este sensor se utiliza como método biométrico para la identificación del
usuario. De esta manera, en vez de utilizar un patrón, contraseña o PIN para
verificar tu identidad es suficiente con utilizar tu huella dactilar para
desbloquear el móvil o identificarte en aplicaciones.
A continuación, te mostramos un ejemplo de como utilizar este sensor.
Primero creamos nuestro proyecto en Xamarin.forms.
Instalamos el Nuget Plugin.Fingerprint en nuestro proyecto.
Activamos el permiso en nuestro Android manifest.
Activamos el permiso para IOS.
Nota importante:
El lector de huellas dactilares contiene una serie de sensores capacitivos
en una superficie sobre la que pones el dedo, y con la que el móvil es
capaz de reconocer las líneas de nuestra huella dactilar y almacenar
una imagen digital de estas.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 63
Creamos la vista que contenga lo siguiente.
Programamos la acción que va a realizar nuestra vista y listo.
Figura 29, Programación de huella dactilar.
9.3. Flutter
Flutter es el kit de herramientas de UI de Google para realizar hermosas
aplicaciones, compiladas nativamente, para móvil, web y escritorio desde
una única base de código.
9.3.1. Introducción
Flutter es un SDK desarrollado por Google para crear aplicaciones móviles
tanto para Android como para iOS (Apple). Fue desarrollado como un
software para uso interno dentro de la compañía pero vieron el potencial
que tenia y decidieron lanzarlo como proyecto de código libre. Actualmente
es uno de los proyectos de desarrollo de aplicaciones móviles que más está
creciendo. Además, desde la última versión estable, también es posible
realizar aplicaciones Web y de escritorio para Windows y Mac. Aunque en
estas dos plataformas aún está en fase experimental (beta).
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 64
Estas son las tres principales ventajas que ofrece Flutter respecto a otras
frameworks de desarrollo de aplicaciones multiplataforma:
Compila en nativo, tanto en Android como en iOS.
La creación interfaces gráficas es muy flexible, puedes combinar
diferentes Widgets (elementos gráficos) para crear las vistas.
El desarrollo es muy rápido, permite ver el resultado de forma instantánea
mientras se escribe el código.
Explicado de forma muy simple, Flutter utiliza un motor gráfico, llamado
Skia, que renderiza en 2D los elementos gráficos. Flutter está escrito en C,
C++ y, mayormente, en Dart. De forma resumida, la capa del motor está
escrito en C++ y la de los Widgets en Dart.
Widget es la palabra más repetida cuando se hace referencia a Flutter, se
refiere a los elementos gráficos que componen una vista. Por ejemplo, un
botón, un texto o una imagen. Aunque también hay Widgets más complejos
que están formados por otros Widgets.
En un primer momento, Flutter es comparado con React Native, porque
ambas plataformas usan la programación reactiva. De hecho, hay
numerosos artículos que los comparan e incluso intentan predecir si Flutter
reemplazaría totalmente a React Native. Pero aunque sean plataformas
parecidas, cada una tiene su enfoque y utilidad para crear Apps. En estos
momentos Google está corrigiendo bugs e incluyendo nuevas funciones a
Flutter bastante rápido, mientras que el progreso de React Native está un
poco estancado. Hace poco que se lanzó la versión 0.6 con algunas mejoras.
Nota importante:
Flutter utiliza Dart como lenguaje de programación, también
desarrollado por Google.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 65
Desarrollo Rápido: Trae tu aplicación a la vida en cuestión de milisegundos
con Hot Reload. Utilice un completo conjunto de widgets totalmente
personalizables para crear interfaces nativas en cuestión de minutos.
UI Expresiva y Flexible: Monta rápidamente funcionalidades con el foco
en la experiencia de usuario nativa. La arquitectura en capas permite una
completa personalización, que resultan en un renderizado increíblemente
rápido y diseños expresivos y flexibles.
Rendimiento Nativo: Los widgets de Flutter incorporan todas las
diferencias críticas entre plaformas, como el scrolling, navegación, iconos y
fuentes para proporcionar un rendimiento totalmente nativo tanto en iOS
como en Android.
Figura 30, Programación Flutter.
A continuación, veremos un ejemplo de utilizar Flutter.
Primero debemos instalar Flutter descargando de la pagina oficial el
Framework. https://esflutter.dev/docs/get-started/install
descargar la carpeta en la raíz de nuestro disco local C.
https://esflutter.dev/docs/get-started/install
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 66
Agregar la ubicación de la carpeta en las variables de entorno de nuestro
sistema operativo para poder acceder desde cualquier parte.
Figura 31, Configuración variables de entorno.
Instalar las dependencias o librerías en su editor o ide de programación
preferido.
Figura 32, Complementos de Flutter en Visual Studio Code.
Crear un nuevo proyecto con Flutter y empezamos a modificar nuestra
aplicación.
Figura 33, Crear el proyecto en Flutter.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 67
Para modificar o llamar los widgets se los debe hacer desde el main.dark
principal.
Figura 34, Vista principal.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 68
9.4. ACTIVADES DE LA UNIDAD 3
9.4.1. Actividades de aprendizaje en contacto con el docente
A. Desarrollar un aplicativo móvil con GPS.
9.4.1.1. Descripción
Desarrollar aplicaciones móviles que permitan utilizar recursos de nuestro
dispositivo celular mediante la utilización de gps
Forma de entrega
Debe estar realizado en Xamarin.forms
El archivo debe estar empaquetado y ser guardado como:
actividad1_3B_sunombre
Debe contener todos los archivos empleados dentro del archivo
empaquetado.
Si el archivo es demasiado pesado para subirlo al aula virtual debe
ser compartido por medio de un repositorio virtual.
Se debe subir un archivo PDF que muestre la captura de pantalla
del funcionamiento del aplicativo final, con el link del proyecto
realizado.
El aplicativo debe contener las especificaciones necesarias para que se un
aplicativo de calidad.
9.4.1.2. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 69
9.4.1.3. Resultados esperados
Desarrollar un aplicativo móvil que cumpla con todo lo solicitado.
9.4.1.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 70
B. Desarrollar un aplicativo móvil con sensor.
9.4.1.5. Descripción
Desarrollar aplicaciones móviles que permitan utilizar los sensores de
nuestros dispositivo movil en este caso el sensor de la huella dactilar.
Forma de entrega
Debe estar realizado en Xamarin.forms
El archivo debe estar empaquetado y ser guardado como:
actividad2_3B_sunombre
Debe contener todos los archivos empleados dentro del archivo
empaquetado.
Si el archivo es demasiado pesado para subirlo al aula virtual debe
ser compartido por medio de un repositorio virtual.
Se debe subir un archivo PDF que muestre la captura de pantalla
del funcionamiento del aplicativo final, con el link del proyecto
realizado.
El aplicativo debe contener las especificaciones necesarias para que se un
aplicativo de calidad.
9.4.1.6. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
9.4.1.7. Resultados esperados
Desarrollar un aplicativo móvil que permita utilizar el sensor de la huella
dactilar.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 71
9.4.1.8. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 72
9.4.2. Actividad de aprendizaje autónomo
A. NOMBRE DE LA ACTIVIDAD 1
9.4.2.1. Descripción
Desarrollar aplicaciones móviles que permitan utilizar medir el grado de
entendimiento de la nueva herramienta o framework de desarrollo móvil.
Forma de entrega
Debe estar realizado en Xamarin.forms
El archivo debe estar empaquetado y ser guardado como:
actividad3_3B_sunombre
Debe contener todos los archivos empleados dentro del archivo
empaquetado.
Si el archivo es demasiado pesado para subirlo al aula virtual debe
ser compartido por medio de un repositorio virtual.
Se debe subir un archivo PDF que muestre la captura de pantalla
del funcionamiento del aplicativo final, con el link del proyecto
realizado.
El aplicativo debe contener las especificaciones necesarias para que se un
aplicativo de calidad.
9.4.2.2. Recursos
Computador.
Herramienta de desarrollo (Visual Studio Community).
Smartphone o emulador.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 73
9.4.2.3. Resultados esperados
Demostrar
Comprender.
9.4.2.4. Técnica e instrumento de evaluación
Para esta actividad se evaluará en función de la siguiente escala valorativa:
Criterio Valoración
Archivos. 2
Formato de todo el código fuente (Estructurado). 2
Funcionalidad del programa. 2
Validaciones. 2
Completitud y comentarios en el código fuente. 2
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 74
9.5. EVALUACIÓN DEL APRENDIZAJE DE LA UNIDAD 1
9.5.1. Evaluación actividades de docencia
Dentro del trabajo docente se considerará la asistencia a clases, el tener
en, Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus
lectus malesuada libero, sit amet commodo magna eros quis urna. Nunc
viverra imperdiet enim. Este componente equivaldrá al 25% de la
calificación total del parcial.
9.5.2. Evaluación actividades practico experimental
En este componente se tomará en cuenta el Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce
posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet
commodo magna eros quis urna. Nunc viverra imperdiet enim. Esta actividad
permitirá evidenciar la aplicación de lo aprendido con respecto Lorem
ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue
massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada
libero, sit amet commodo magna eros quis urna. Nunc viverra imperdiet
enim.. La ponderación de esta actividad será del 20% de la calificación
total del parcial.
9.5.3. Evaluación actividades de trabajo autónomo
Para el trabajo autónomo se tomará en cuenta el Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce
posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet
commodo magna eros quis urna. Nunc viverra imperdiet enim. Esta actividad
permitirá aplicar los conceptos clave sobre Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 75
posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet
commodo magna eros quis urna. Nunc viverra imperdiet enim.. Este
componente equivaldrá al 20% de la calificación total del parcial.
9.5.4. Examen
Al culminar el primer parcial se deberá rendir un examen acumulativo de
base estructurada el cual equivaldrá al 35% del puntaje total del primer
parcial. El examen bimestral es de carácter individual, le sugerimos que
antes de iniciar tome todas las precauciones necesarias para que nada
vaya a interrumpirle ya que se ha configurado para que solamente tenga
una oportunidad de contestar en su totalidad todo el cuestionario una vez
accione el inicio del mismo. Dispone de un tiempo específico (45 minutos)
para responder las preguntas que se le asignarán de manera automática.
El examen será valorado sobre 10 puntos. Únicamente existe una respuesta
correcta por cada pregunta.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 76
9.6. BIBLIOGRAFÍA
9.6.1. Referencias Bibliográficas
Xamarin. (s/f). Microsoft.com. Recuperado el 3 de agosto de 2022, de
https://docs.microsoft.com/en-us/xamarin/
Montemagno, J. (s. f.). GitHub - edsnider/localnotificationsplugin: Local
Notifications Plugin for Xamarin and Windows. GitHub.
Recuperado 31 de julio de 2022, de
https://github.com/edsnider/localnotificationsplugin
P. (2021b, julio 8). Xamarin.Forms local notifications - Xamarin. Microsoft
Docs. Recuperado 31 de julio de 2022, de
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-
fundamentals/local-notifications
About SQLite. (s. f.). SQLite. Recuperado 31 de julio de 2022, de
https://www.sqlite.org/about.html
P. (2021, 8 julio). Xamarin.Forms Local Databases - Xamarin. Microsoft Docs.
Recuperado 31 de julio de 2022, de
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-
cloud/data/databases
D. (2022a, julio 14). Consume a RESTful web service - Xamarin. Microsoft
Docs. Recuperado 31 de julio de 2022, de
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-
cloud/web-services/rest
Valdés, D. P. (2007, octubre 26). ¿Qué son las bases de datos? Maestros
del Web. https://www.maestrosdelweb.com/que-son-las-bases-
de-datos/
https://docs.microsoft.com/en-us/xamarin/
https://github.com/edsnider/localnotificationsplugin
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/local-notifications
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/local-notifications
https://www.sqlite.org/about.html
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/data/databases
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/data/databases
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/web-services/rest
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/web-services/rest
https://www.maestrosdelweb.com/que-son-las-bases-de-datos/
https://www.maestrosdelweb.com/que-son-las-bases-de-datos/
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 77
Carranza, A. (2021, noviembre 12). ¿Qué es un web service? ¡Intercambia
datos de un sistema a otro en segundos! Crehana.
https://www.crehana.com/blog/desarrollo-web/que-es-web-
service/
Notificaciones - SPM-iOS. (s/f). Github.io. Recuperado el 12 de septiembre
de 2022, de https://domingogallardo.github.io/apuntes-spm-
ios/teoria/notificaciones/notificaciones.html
Notificaciones - SPM-iOS. (s/f). Github.io. Recuperado el 12 de septiembre
de 2022, de https://domingogallardo.github.io/apuntes-spm-
ios/teoria/notificaciones/notificaciones.html
Instalación. (n.d.). Esflutter.dev. Retrieved September 12, 2022, from
https://esflutter.dev/docs/get-started/install
https://www.crehana.com/blog/desarrollo-web/que-es-web-service/
https://www.crehana.com/blog/desarrollo-web/que-es-web-service/
https://domingogallardo.github.io/apuntes-spm-ios/teoria/notificaciones/notificaciones.html
https://domingogallardo.github.io/apuntes-spm-ios/teoria/notificaciones/notificaciones.html
https://domingogallardo.github.io/apuntes-spm-ios/teoria/notificaciones/notificaciones.html
https://domingogallardo.github.io/apuntes-spm-ios/teoria/notificaciones/notificaciones.html
https://esflutter.dev/docs/get-started/install
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 78
9.6.2. Sitios de interés
• Laboratorio de emociones de la Universidad de Málaga:
http://emotional.intelligence.uma.es/
• Grupo de Investigación en Educación Emocional de la Universidad
de Barcelona: http://www.ub.edu/grop/
• Universo de emociones: https://universodeemociones.com
• Página personal de Rafael Bisquerra (catedrático de la
Universidad de Barcelona con numerosas publicaciones en el ámbito de la
educación emocional) http://www.rafaelbisquerra.com/es/
• Manuales para desarrollar competencias emocionales en distintas
edades. Proyecto de la diputación de Guipúzcoa, España.
http://www.eskolabakegune.euskadi.eus/web/eskolabakegune/material-
de-la-diputacion-de-guipuzcoa
• Programa RULER para el desarrollo de competencias sociales y
emocionales de la Universidad de Yale: https://www.rulerapproach.org/
• Página de la Universidad New Hampshire (Jhon Mayer).
https://mypages.unh.edu/jdmayer/publications
http://emotional.intelligence.uma.es/
http://www.ub.edu/grop/
https://universodeemociones.com/
http://www.rafaelbisquerra.com/es/
http://www.eskolabakegune.euskadi.eus/web/eskolabakegune/material-de-la-diputacion-de-guipuzcoa
http://www.eskolabakegune.euskadi.eus/web/eskolabakegune/material-de-la-diputacion-de-guipuzcoa
https://www.rulerapproach.org/
https://mypages.unh.edu/jdmayer/publications
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 79
10. ACRÓNIMOS, ABREVIATURAS Y GLOSARIO DE TÉRMINOS
XAML: lenguaje declarativo basado en XML
CS: Source Code File
XAMARIN: es un excelente framework para crear aplicaciones para
diferentes plataformas, ya que permite escribir el código de lógica de
usuario y de interfaz.
NUGET: es un administrador de paquetes diseñado para permitir a los
desarrolladores compartir código reutilizable.
SOAP: Simple Object Access Protocol
WSDL: Web Services Description Language
GPS: sistema de posicionamiento global.
Android: Android es un sistema operativo móvil basado en el núcleo Linux
y otros softwares de código abierto.
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 80
11. ÍNDICE DE TABLAS
No se encuentran elementos de tabla de ilustraciones.
12. ÍNDICE DE FIGURAS
Figura 1 DMCA. Ilustración de aplicaciones móviles [Figura] Recuperado de
https://www.pngwing.com/es/free-png-xirhe ................................................ 17
Figura 2 Developers. Pila de software de Android [Figura] Recuperado de
https://developer.android.com/guide/platform?hl=es-
419#:~:text=Android%20es%20una%20pila%20de,principales%20de%
20la%20plataforma%20Android. .................................................................... 20
Figura 3 Karen Melissa Rojas Lizarazo. Arquitectura IOS [Figura]
Recuperado de Revista Facultad de Ingeniería, UPTC, Julio-Diciembre de
2011, Vol. 20, No. ................................................................................................. 21
Figura 4 Microsoft. Diagrama elección desarrollo móvil [Figura] Recuperado
https://sway.office.com/BM7YFz8uP9dwYGOm?ref=Link .......................... 22
Figura 5 Microsoft. Páginas de Xamarin Forms [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-
interface/controls/pages ..................................................................................... 24
Figura 6 Microsoft. Diseño de páginas de Xamarin Forms [Figura]
Recuperado https://docs.microsoft.com/es-es/xamarin/xamarin-
forms/user-interface/controls/layouts ............................................................... 25
Figura 7 Microsoft. Componente de etiquetas [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-
interface/controls/views ....................................................................................... 26
Figura 8 Microsoft. Componentes de comandos [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-
interface/controls/views ....................................................................................... 26
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 81
Figura 9 Microsoft. Componentes de valores [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-
interface/controls/views ....................................................................................... 27
Figura 10 Microsoft. Componentes de textos [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-
interface/controls/views ....................................................................................... 27
Figura 11 Microsoft. Componentes de colecciones [Figura] Recuperado
https://docs.microsoft.com/es-es/xamarin/xamarin-forms/user-
interface/controls/views ....................................................................................... 28
Figura 12 Código Xamel ...................................................................................... 30
Figura 13 Código Xamel ...................................................................................... 30
Figura 14 Código Xamel ...................................................................................... 31
Figura 15 Código Visual C# ............................................................................... 31
Figura 16 Ejecución Aplicación ............................................................................ 32
Figura 17 Móvil, aplicativo funcional................................................................. 43
Figura 18 BD, Conexión BD Sqlite. ..................................................................... 44
Figura 18 BD, Ingreso a la B.D............................................................................ 45
Figura 20 BD, CRUD base de datos. ................................................................. 45
Figura 21, Crear notificación ............................................................................... 48
Figura 22 Llamar notificación .............................................................................. 49
Figura 23, Ejemplo de notificación ..................................................................... 49
Figura 24, Crear notificación local. .................................................................... 51
GUÍA DIDÁCTICA: PROGRAMACIÓN MÓVIL 82
Figura 25, Vista de la notificación local. .......................................................... 51
Figura 26, Vista de geolocalización. ................................................................. 60
Figura 27, Programación de geolocalización. ................................................. 60
Figura 28, Programación de geolocalización llamar mapa. ........................ 61
Figura 29, Programación de huella dactilar. ................................................... 63
Figura 30, Programación Flutter. ........................................................................ 65
Figura 31, Configuración variables de entorno. ............................................. 66
Figura 32, Complementos de Flutter en Visual Studio Code. ....................... 66
Figura 33, Crear el proyecto en Flutter. ........................................................... 66
Figura 34, Vista principal. .................................................................................... 67
13. ÌNDICE DE ECUACIONES O FÓRMULAS
No se encuentran elementos de tabla de ilustraciones.