SlideShare una empresa de Scribd logo
1 de 25
LOGO
Msig. Ing. Robert Moreira Centeno
mcrobertw@hotmail.com
Febrero de 2017
TEMA:
«APRENDER A PROGRAMAR APLICACIONES MOVILES»
1. Ejes del curso
2. Tipos de aplicaciones móviles
3. Tooling (PhoneGap y Apache Cordova)
4. Crear un proyecto móvil con PhoneGap y vincularlo a Netbeans
5. Gestos – Ejercicio 1
6. Gestos con la librería hammer.js
7. Gestos(clases doubletap, press, swipe-derecha, swipe-izquierda, rotate ) con animación a través de
css
8. Práctica de gestos
9. Tomar una fotografía con la cámara
10. Uso de canvas en la capa de fotografía para acceder a los pixeles
11. Uso del canvas para cambiar los pixeles de una imagen a negativo, blanco y negro y sepia
12. Usar el canvas con imagen de la galería
13. Práctica de cámara
14. Geo localización y mapas
15. Extraer localización de dispositivo móvil usando el método geolocation del objeto navigator
Ambiente de prueba
Windows 8.1
Descargar presentación y
recursos en:
http://ouo.io/lFidof
1. Ejes del curso
Company Logo
Referencias:
https://miriadax.net/web/creando-apps-aprende-a-programar-aplicaciones-
moviles/inicio?p_p_auth=O4bnIj87&p_p_id=inscriptioncommunity_WAR_liferaylmsportlet&p_p_lifecycle=0
1. GESTOS
2. CÁMARAS
3.
LOCALIZACIÓN
4. SENSORES 4. DATOS
Aprenderemos cómo detectar los gestos que realiza el usuario
sobre la pantalla táctil de nuestro terminal móvil y a cómo crear
algunas animaciones
Accederemos a la cámara de nuestro terminal, realizaremos
fotografías, aplicaremos filtros y tomaremos imágenes de la
galería.
Aprovechando que los terminales móviles están
geoposicionados, podremos pintar nuestra posición actual en un
mapa, y explorar puntos de interés cercanos.
Desarrollaremos un juego que nos permita explorar el
funcionamiento de sensores como el acelerómetro.
Desarrollaremos una app que nos haga conscientes de si
estamos online u offline, para almacenar los datos en el
dispositivo o en la nube.
2. Tipos de aplicaciones móviles (parte 1 de 2)
Company Logo
Aplicaciones móviles nativas.- Desarrollas usando tecnologías móviles propias de cada
plataforma,
Ventajas: Se las puede distribuir desde las tiendas de aplicaciones y proveer un buen
rendimiento por ejemplo.
En android se
desarrolla con:
java y android studio
En iOS se desarrolla con:
Swift, Objective-C y Xcode
Aplicaciones web móviles.- Son desarrolladas con HTML, CSS, JAVASCRIPT y accedemos a
ellas desde el navegador de nuestro móvil.
Desventajas: No las podemos distribuir a través de la tienda de aplicaciones ni permite
aprovechar las capacidades totales de un dispositivo.
2. Tipos de aplicaciones móviles (parte 2 de 2)
Company Logo
Aplicaciones móviles híbridas.- Combina las tecnologías web y tecnologías nativas,
mediante una carcaza hecha en código nativo que dentro tiene un componente (Web view)
que incrusta un navegador dentro de nuestra aplicación, de forma que dentro de esa carcaza
nativa podemos visualizar el código HTML, CSS, JAVASCRIPT que hacemos dentro de ese
navegador.
Ventajas: Al tener esa carcaza nativa nos permite distribuirlas dentro de tiendas de
aplicaciones y además acceder a las capacidades del dispositivo.
Desventajas: Al tener un navegador de por medio el rendimiento no es tan bueno como el de
una aplicación nativa
3. Tooling (parte 1 de 3)
Company Logo
PhoneGap
Una plataforma que nos permite el desarrollo de aplicaciones hibridas y que
está basado en Apache Cordova.
Descargar e instalar aplicación de escritorio
http://phonegap.com/getstarted/
Descargar e instalar aplicación desde play store en el celular
Al abrir la aplicación
por primera vez
Creando
proyecto por
primera vez
3. Tooling (parte 2 de 3)
PhoneGap
Configurando ip en celular y en computadora
En el computador
ya viene
establecida la
configuración, es
en el celular que
se debe cambiar
la dirección
3. Tooling (parte 3 de 3)
Company Logo
Apache Cordova.- es un framework open source para el desarrollo de
aplicaciones móviles usando tecnologías web (HTML, CSS, JavaScript).
https://cordova.apache.org/
Requisitos para la instalación
1.- Instalar el JDK de java.
2.- Instalar node.JS
3.- Ejecutar la siguiente línea como administrador en consola.
Referencias:
https://www.youtube.com/watch?v=LmZKEXVgTpM
Estos pasos
quedaron
incompletos
4. Crear un proyecto móvil con PhoneGap y vincularlo a Netbeans
Company Logo
En PhoneGap
En NetBeans
5. Gestos – Ejercicio 1 (parte 1 de 3)
Company Logo
Para empezar, vamos a crear una
aplicación muy sencilla con dos
botones, que al hacer click (tap
para dispositivos móviles) en ellos
cambiaran el color de fondo de
la pantalla de la app. Con esto
aprenderemos a distinguir el click
del tap. Además, veremos como
hacer más responsiva (fluida) la
interacción con nuestra app.
Morado
Naranja
5. Gestos – Ejercicio 1 (parte 2 de 3)
Company Logo
Paso 1. Partir de plantilla en blanco.
Paso 2. Crear un nuevo proyecto en netbeans.
5. Gestos – Ejercicio 1 (parte 3 de 3)
Company Logo
DESARROLLANDO LA APLICACIÓN 1
gestures.css
fastclick.js
gestures.js
gestures2.js
Contiene los estilos para cambiar de color
el fondo al dar click
Es una librería para hacer que el evento
del tap que se da a un dispositivo móvil,
inicie tan pronto se ponga el dedo sobre un
botón
Manejador de eventos sin usar fastclick.js
Manejador de eventos usando fastclick.js
https://github.com/mcrobertw/AplicacionMovil1/
6. Gestos con la librería hammer.js (parte 1 de 2)
Company Logo
TIPOS DE EVENTOS EN UN MOVIL
ROTATE.- Con dos dedos, girar para un lado y para el otro.
PINCH.- Con dos dedos, al hacer zoom it y zoom out.
PRESS.- Pulsamos y mantenemos presionado un momento.
PAN.- Gesto para movimiento en horizontal, manteniendo apretado.
TAP.- Pulsación y retirada inmediata en la pantalla del móvil.
SWIPE.- Gesto como de pasar una página.
DOUBLE TAP.- Doble pulsación y retirada inmediata en la pantalla del móvil.
Referencias:
http://hammerjs.github.io/
6. Gestos con la librería hammer.js (parte 2 de 2)
Company Logo
gestures.css
fastclick.js
gestures.js
hammer.min.js
Contiene los estilos para cambiar de color
el fondo al dar click, adicional tiene el estilo
para capturar los eventos en la zona que
esta debajo del botón “OSCURO”
Ya explicada.
Se le agrega la funcionalidad con
hammer.js, los eventos PAN y SWIPE se
enmascaran entre sí (se confunden), lo
mismo los eventos PINCH y ROTATE, al
probar se deja uno u otro en la línea 27
Solo se descargo y uso
https://github.com/mcrobertw/AplicacionMovil2
7. Gestos(clases doubletap, press, swipe-derecha, swipe-
izquierda, rotate ) con animación a través de css
Company Logo
Se dará animación para 4 determinados
gestos
Doble tap.- Iluminar zona.
Press.- Oscurecer zona.
Swipe left y swipe right.- Animación,
como moviéndose a la izquierda o
derecha.
Rotate.- Animación de rotación.
gestures.css
gestures.js
Contiene las configuraciones de las clases doubletap, press,
swipe-derecha, swipe-izquierda, rotate y las animaciones
CSS con las reglas webkit-keyframes.
Contiene el manejo de los eventos doubletap, press, swipe-
derecha, swipe-izquierda, rotate usando la librería hammer
https://github.com/mcrobertw/AplicacionMovil3
8. Práctica de gestos (Parte 1 de 1)
1. Claro a oscuro gradual.
Vamos a modificar la aplicación para que al pulsar los botones de “claro” y “oscuro”, en
lugar de modificarse el color de fondo directamente, se haga mediante una animación
CSS. Esta animación hará que el color de fondo pase de verde claro a verde oscuro
gradualmente, y viceversa.
Solución.- En gestures.css dejar las clase claro y oscuro como sigue:
body.claro{
background-color: #8de1bd;
transition: background-color 5s;
}
body.oscuro{
background-color: #577a76;
transition: background-color 5s;
}
8. Práctica de gestos (Parte 2 de 2)
2. Tap simple.
Añade a la app la funcionalidad para que, al detectar un tap simple en la zona de
gestos, pinte esta zona de color amarillo durante 100 milisegundos, y luego vuelva a su
color anterior.
Solución.-
#zona-gestos.tap{
-webkit-animation: tap 100ms 1;
}
@-webkit-keyframes tap {
50% {
background-color: yellow;
}
}
Agregar el siguiente código en gestures.css
hammertime.on('tap', function(ev) {
zona.className='tap';
});
Agregar el siguiente código en gestures.js
3. ¿Y sin FastClick?
Prueba a eliminar la librería FastClick y comprueba en el dispositivo el cambio de
experiencia para el usuario. ¿Qué sucede con la funcionalidad anterior que le hemos
puesto al tap?
Solución.- La zona de gestos deja de funcionar.
9. Tomar una fotografía con la cámara
Desarrollar aplicación para
- Tomar una fotografía
- Acceder a píxeles de la
fotografía usando el canvas
- Procesar y aplicar filtros: blanco
y negro, esemtia, negativo
(hacer lo mismo con una foto de
la galería)
camera.css
camera.js
Destaca la clase foto pues es el marco
para mostrar la captura que se haga en la
cámara.
Utiliza la función navigator para capturar
foto y enviarla al index.html
https://github.com/mcrobertw/AplicacionMovil4
10. Uso de canvas en la capa de fotografía para acceder a los pixeles
camera.css
camera.js
Destaca la clase foto pues es el marco
para mostrar la captura que se haga en la
cámara.
Se modifica el método fotoTomada,
incorporando en ella una llamada al
método pintarFoto, que se encarga de
pintar la imagen tomada en un canvas.
https://github.com/mcrobertw/AplicacionMovil5
Se cambia el objeto imagen que captura la
fotografía por un canvas, para luego acceder a los
pixeles y poder cambiarlos.
Canvas se utiliza en videojuegos, animaciones, en la
siguiente práctica solo se usará para imprimir en el
nuestra imagen.
11. Uso del canvas para cambiar los pixeles de una imagen a
negativo, blanco y negro y sepia.
Con el canvas se puede acceder a la información de color de una imagen :
• RGBA de cada uno de los píxeles, por lo tanto se la puede manipular
• Procesar y aplicar filtros: blanco y negro, sepia (color rojo anaranjado oscuro y de
saturación débil), negativo. (hacer lo mismo con una foto de la galería)
camera.css
effect.js
Se agrega la clase button-filter para dar el
color azul a los 3 botones.
Librería desarrollada en miriadax para
transformar pixeles a blanco, negro y
sepia.
https://github.com/mcrobertw/AplicacionMovil6
camera.js Se cambia el método iniciaBoton a
iniciaBotones, que envía mensajes (gray,
negative, sepia) a otro método que
también se creo aplicaFiltro.
Se crea una variable global imageData
usada en el método aplicaFiltro.
Referencias:
http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/index.html#cameracameraoptions--object
12. Usar el canvas con imagen de la galería
camera.css Se agregó la clase button-gallery para el
botón Imagen de Galería.
https://github.com/mcrobertw/AplicacionMovil7
camera.js Se cambia el método tomarFoto por
cargarFoto.
Se modificó el escuchador button-action.
Se agregó el escuchador buttonGallery.
Se agregó la propiedad sourceType
dentro del método cargarFoto.
13. Práctica de cámara (Parte 1 de 2)
1. Mayor calidad​.
Vamos a modificar la aplicación para que la calidad de la fotografía que usamos
sea mayor. Revisa las opciones del plugin de la cámara de Cordova.
var opciones={
quality:100,
sourceType: pictureSourceType,
destinationType: Camera.DestinationType.FILE_URI,
targetWidth:300,
targetHeight:300,
correctOrientation: true
};
2. Modo selfie.
Modifica las opciones del plugin de la cámara para que por defecto aparezca la
cámara delantera (si el terminal la tiene) para hacer un selfie.
Agregar dentro de la función cargarFoto:
cameraDirection:Camera.Direction.FRONT,//prueba practica 2 modo selfie no
funciona en android.
13. Práctica de cámara (Parte 1 de 2)
3. Guardar fotos en la galería​.
Usa también las opciones del plugin de la cámara para almacenar la fotografías
realizadas en la galería del dispositivo.
Agregar dentro de la función cargarFoto:
saveToPhotoAlbum: true,//prueba practica guardar fotos en la galeria.
14. Geo localización y mapas
Geolocalización.- Nos permite acceder a la localización del usuario ofreciendo
productos y servicios basados en donde el esta, el dispositivo móvil calcula la
localización del usuario usando distintas técnicas: GPS, triangulación de antenas,
redes WIFI.
A través de la aplicación creada en este curso, se hará un acceso a localización
pidiéndosela al dispositivo (vea Dios que método usará cada móvil).
Desarrollar una aplicación en donde se pintará sobre un mapa la localización del
usuario, y el será capas de marcar distintos puntos a su alrededor como favoritos.
PRIMERO. Pedir al dispositivo la localización y pintarla en nuestra aplicación.
15. Extraer localización de dispositivo móvil usando el método
geolocation del objeto navigator
maps.css Se agrega el id #coords para presentar centradas las
coordenadas de longitud y latitud
https://github.com/mcrobertw/AplicacionMovil8
maps.js Agregar un escuchador de eventos 'deviceready'
manejandolo con la función 'dispositivoListo'
SITIOS CON INFORMACIÓN PARA DESARROLLO WEB
CUESTIONARIOS
Cuestionario 1
https://drive.google.com/file/d/0Bxp10qNggdMeeHhza2lLMGJTZUE/view?usp=sharing
Cuestionario 2
https://drive.google.com/file/d/0Bxp10qNggdMeSjU4M1dTc1NMWjQ/view
Cuestionario 3
https://drive.google.com/file/d/0Bxp10qNggdMeRlhWajVpV0R4OVE/view
Cuestionario 4
https://drive.google.com/file/d/0Bxp10qNggdMedlQyaTB3eUtuOG8/view?usp=sharing
CONCLUSIÓN.
Curso interesante, sensores y mapas fueron temas que faltan ver.
En caso de necesitarlos alguna vez se harán 
Un tema que quedo pendiente fue incluier Cordova Application dentro de NetBeans

Más contenido relacionado

La actualidad más candente

DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsJavier Suárez Ruiz
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos JavaJosé Mendoza
 
Action script 3
Action script 3Action script 3
Action script 3AlysaMc
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Esteban Saavedra
 
Javascript para principiantes -Introducción
Javascript para principiantes -IntroducciónJavascript para principiantes -Introducción
Javascript para principiantes -IntroducciónOscar Josué Uh Pérez
 
Guia java script
Guia java scriptGuia java script
Guia java scriptmariaunefa
 
Programacion de una tienda virtual en Grails
Programacion de una tienda virtual en GrailsProgramacion de una tienda virtual en Grails
Programacion de una tienda virtual en GrailsGabriel Bermudez
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js IntroduccionMayer Horna
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellJavier Suárez Ruiz
 
Visual basic 6.0 Menu de Programas Cristian Pallares
Visual basic 6.0 Menu de Programas Cristian PallaresVisual basic 6.0 Menu de Programas Cristian Pallares
Visual basic 6.0 Menu de Programas Cristian PallaresCristian Pallares
 

La actualidad más candente (19)

Javascript
JavascriptJavascript
Javascript
 
JavaScript desde Cero
JavaScript desde CeroJavaScript desde Cero
JavaScript desde Cero
 
Javascript
JavascriptJavascript
Javascript
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.Forms
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Javascript
JavascriptJavascript
Javascript
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos Java
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
 
Action script 3
Action script 3Action script 3
Action script 3
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1
 
Action script
Action scriptAction script
Action script
 
Javascript para principiantes -Introducción
Javascript para principiantes -IntroducciónJavascript para principiantes -Introducción
Javascript para principiantes -Introducción
 
Guia java script
Guia java scriptGuia java script
Guia java script
 
Programacion de una tienda virtual en Grails
Programacion de una tienda virtual en GrailsProgramacion de una tienda virtual en Grails
Programacion de una tienda virtual en Grails
 
Java script
Java scriptJava script
Java script
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
 
Lenguaje JavaScript parte 1
Lenguaje JavaScript parte 1Lenguaje JavaScript parte 1
Lenguaje JavaScript parte 1
 
Visual basic 6.0 Menu de Programas Cristian Pallares
Visual basic 6.0 Menu de Programas Cristian PallaresVisual basic 6.0 Menu de Programas Cristian Pallares
Visual basic 6.0 Menu de Programas Cristian Pallares
 

Similar a Aprender a programar aplicaciones moviles

Integracin2octubre 121203183209-phpapp01
Integracin2octubre 121203183209-phpapp01Integracin2octubre 121203183209-phpapp01
Integracin2octubre 121203183209-phpapp01Gabriel Tocol
 
JQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil LambertJQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil LambertYamil Lambert
 
Abp mooc herramientas tic martin garcia valle
Abp mooc herramientas tic martin garcia valleAbp mooc herramientas tic martin garcia valle
Abp mooc herramientas tic martin garcia valleMartín García Valle
 
Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402lizbethanahi15
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de AndroidJavier Muñoz
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Javier Suárez Ruiz
 
266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventorxavazque2
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Juan Eladio Sánchez Rosas
 
Tranforma tu web a una aplicación
Tranforma tu web a una aplicaciónTranforma tu web a una aplicación
Tranforma tu web a una aplicaciónMinimarket Maná
 
DAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdfDAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdfKevinRicardoBustaman
 
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...Ivan Petrlik
 

Similar a Aprender a programar aplicaciones moviles (20)

Integracin2octubre 121203183209-phpapp01
Integracin2octubre 121203183209-phpapp01Integracin2octubre 121203183209-phpapp01
Integracin2octubre 121203183209-phpapp01
 
Phonegap
PhonegapPhonegap
Phonegap
 
JQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil LambertJQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil Lambert
 
Abp mooc herramientas tic martin garcia valle
Abp mooc herramientas tic martin garcia valleAbp mooc herramientas tic martin garcia valle
Abp mooc herramientas tic martin garcia valle
 
Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402Lizbeth Anahi zambrano Santos 402
Lizbeth Anahi zambrano Santos 402
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
Cv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-webCv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-web
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Cetis 109(2)
Cetis 109(2)Cetis 109(2)
Cetis 109(2)
 
266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2
 
Tranforma tu web a una aplicación
Tranforma tu web a una aplicaciónTranforma tu web a una aplicación
Tranforma tu web a una aplicación
 
DAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdfDAM_18520450_Trabajando con React Native.pdf
DAM_18520450_Trabajando con React Native.pdf
 
Contenidoinformaticaenlaeducacion
ContenidoinformaticaenlaeducacionContenidoinformaticaenlaeducacion
Contenidoinformaticaenlaeducacion
 
Contenidoinformaticaenlaeducacion
ContenidoinformaticaenlaeducacionContenidoinformaticaenlaeducacion
Contenidoinformaticaenlaeducacion
 
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Imperial math -_expo
Imperial math -_expoImperial math -_expo
Imperial math -_expo
 

Más de Robert Moreira

Dormir cuando el viento sopla
Dormir cuando el viento soplaDormir cuando el viento sopla
Dormir cuando el viento soplaRobert Moreira
 
Sesiones y cookies en php
Sesiones y cookies en phpSesiones y cookies en php
Sesiones y cookies en phpRobert Moreira
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en phpRobert Moreira
 
Buenos formularios web
Buenos formularios webBuenos formularios web
Buenos formularios webRobert Moreira
 
Buenos formularios web
Buenos formularios webBuenos formularios web
Buenos formularios webRobert Moreira
 
Modelo de negocios paypal
Modelo de negocios paypalModelo de negocios paypal
Modelo de negocios paypalRobert Moreira
 
Modelo negocio motel online.com
Modelo negocio motel online.comModelo negocio motel online.com
Modelo negocio motel online.comRobert Moreira
 

Más de Robert Moreira (8)

Dormir cuando el viento sopla
Dormir cuando el viento soplaDormir cuando el viento sopla
Dormir cuando el viento sopla
 
El tornillo-1944
El tornillo-1944El tornillo-1944
El tornillo-1944
 
Sesiones y cookies en php
Sesiones y cookies en phpSesiones y cookies en php
Sesiones y cookies en php
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
 
Buenos formularios web
Buenos formularios webBuenos formularios web
Buenos formularios web
 
Buenos formularios web
Buenos formularios webBuenos formularios web
Buenos formularios web
 
Modelo de negocios paypal
Modelo de negocios paypalModelo de negocios paypal
Modelo de negocios paypal
 
Modelo negocio motel online.com
Modelo negocio motel online.comModelo negocio motel online.com
Modelo negocio motel online.com
 

Último

PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Aprender a programar aplicaciones moviles

  • 1. LOGO Msig. Ing. Robert Moreira Centeno mcrobertw@hotmail.com Febrero de 2017 TEMA: «APRENDER A PROGRAMAR APLICACIONES MOVILES» 1. Ejes del curso 2. Tipos de aplicaciones móviles 3. Tooling (PhoneGap y Apache Cordova) 4. Crear un proyecto móvil con PhoneGap y vincularlo a Netbeans 5. Gestos – Ejercicio 1 6. Gestos con la librería hammer.js 7. Gestos(clases doubletap, press, swipe-derecha, swipe-izquierda, rotate ) con animación a través de css 8. Práctica de gestos 9. Tomar una fotografía con la cámara 10. Uso de canvas en la capa de fotografía para acceder a los pixeles 11. Uso del canvas para cambiar los pixeles de una imagen a negativo, blanco y negro y sepia 12. Usar el canvas con imagen de la galería 13. Práctica de cámara 14. Geo localización y mapas 15. Extraer localización de dispositivo móvil usando el método geolocation del objeto navigator Ambiente de prueba Windows 8.1 Descargar presentación y recursos en: http://ouo.io/lFidof
  • 2. 1. Ejes del curso Company Logo Referencias: https://miriadax.net/web/creando-apps-aprende-a-programar-aplicaciones- moviles/inicio?p_p_auth=O4bnIj87&p_p_id=inscriptioncommunity_WAR_liferaylmsportlet&p_p_lifecycle=0 1. GESTOS 2. CÁMARAS 3. LOCALIZACIÓN 4. SENSORES 4. DATOS Aprenderemos cómo detectar los gestos que realiza el usuario sobre la pantalla táctil de nuestro terminal móvil y a cómo crear algunas animaciones Accederemos a la cámara de nuestro terminal, realizaremos fotografías, aplicaremos filtros y tomaremos imágenes de la galería. Aprovechando que los terminales móviles están geoposicionados, podremos pintar nuestra posición actual en un mapa, y explorar puntos de interés cercanos. Desarrollaremos un juego que nos permita explorar el funcionamiento de sensores como el acelerómetro. Desarrollaremos una app que nos haga conscientes de si estamos online u offline, para almacenar los datos en el dispositivo o en la nube.
  • 3. 2. Tipos de aplicaciones móviles (parte 1 de 2) Company Logo Aplicaciones móviles nativas.- Desarrollas usando tecnologías móviles propias de cada plataforma, Ventajas: Se las puede distribuir desde las tiendas de aplicaciones y proveer un buen rendimiento por ejemplo. En android se desarrolla con: java y android studio En iOS se desarrolla con: Swift, Objective-C y Xcode Aplicaciones web móviles.- Son desarrolladas con HTML, CSS, JAVASCRIPT y accedemos a ellas desde el navegador de nuestro móvil. Desventajas: No las podemos distribuir a través de la tienda de aplicaciones ni permite aprovechar las capacidades totales de un dispositivo.
  • 4. 2. Tipos de aplicaciones móviles (parte 2 de 2) Company Logo Aplicaciones móviles híbridas.- Combina las tecnologías web y tecnologías nativas, mediante una carcaza hecha en código nativo que dentro tiene un componente (Web view) que incrusta un navegador dentro de nuestra aplicación, de forma que dentro de esa carcaza nativa podemos visualizar el código HTML, CSS, JAVASCRIPT que hacemos dentro de ese navegador. Ventajas: Al tener esa carcaza nativa nos permite distribuirlas dentro de tiendas de aplicaciones y además acceder a las capacidades del dispositivo. Desventajas: Al tener un navegador de por medio el rendimiento no es tan bueno como el de una aplicación nativa
  • 5. 3. Tooling (parte 1 de 3) Company Logo PhoneGap Una plataforma que nos permite el desarrollo de aplicaciones hibridas y que está basado en Apache Cordova. Descargar e instalar aplicación de escritorio http://phonegap.com/getstarted/ Descargar e instalar aplicación desde play store en el celular Al abrir la aplicación por primera vez Creando proyecto por primera vez
  • 6. 3. Tooling (parte 2 de 3) PhoneGap Configurando ip en celular y en computadora En el computador ya viene establecida la configuración, es en el celular que se debe cambiar la dirección
  • 7. 3. Tooling (parte 3 de 3) Company Logo Apache Cordova.- es un framework open source para el desarrollo de aplicaciones móviles usando tecnologías web (HTML, CSS, JavaScript). https://cordova.apache.org/ Requisitos para la instalación 1.- Instalar el JDK de java. 2.- Instalar node.JS 3.- Ejecutar la siguiente línea como administrador en consola. Referencias: https://www.youtube.com/watch?v=LmZKEXVgTpM Estos pasos quedaron incompletos
  • 8. 4. Crear un proyecto móvil con PhoneGap y vincularlo a Netbeans Company Logo En PhoneGap En NetBeans
  • 9. 5. Gestos – Ejercicio 1 (parte 1 de 3) Company Logo Para empezar, vamos a crear una aplicación muy sencilla con dos botones, que al hacer click (tap para dispositivos móviles) en ellos cambiaran el color de fondo de la pantalla de la app. Con esto aprenderemos a distinguir el click del tap. Además, veremos como hacer más responsiva (fluida) la interacción con nuestra app. Morado Naranja
  • 10. 5. Gestos – Ejercicio 1 (parte 2 de 3) Company Logo Paso 1. Partir de plantilla en blanco. Paso 2. Crear un nuevo proyecto en netbeans.
  • 11. 5. Gestos – Ejercicio 1 (parte 3 de 3) Company Logo DESARROLLANDO LA APLICACIÓN 1 gestures.css fastclick.js gestures.js gestures2.js Contiene los estilos para cambiar de color el fondo al dar click Es una librería para hacer que el evento del tap que se da a un dispositivo móvil, inicie tan pronto se ponga el dedo sobre un botón Manejador de eventos sin usar fastclick.js Manejador de eventos usando fastclick.js https://github.com/mcrobertw/AplicacionMovil1/
  • 12. 6. Gestos con la librería hammer.js (parte 1 de 2) Company Logo TIPOS DE EVENTOS EN UN MOVIL ROTATE.- Con dos dedos, girar para un lado y para el otro. PINCH.- Con dos dedos, al hacer zoom it y zoom out. PRESS.- Pulsamos y mantenemos presionado un momento. PAN.- Gesto para movimiento en horizontal, manteniendo apretado. TAP.- Pulsación y retirada inmediata en la pantalla del móvil. SWIPE.- Gesto como de pasar una página. DOUBLE TAP.- Doble pulsación y retirada inmediata en la pantalla del móvil. Referencias: http://hammerjs.github.io/
  • 13. 6. Gestos con la librería hammer.js (parte 2 de 2) Company Logo gestures.css fastclick.js gestures.js hammer.min.js Contiene los estilos para cambiar de color el fondo al dar click, adicional tiene el estilo para capturar los eventos en la zona que esta debajo del botón “OSCURO” Ya explicada. Se le agrega la funcionalidad con hammer.js, los eventos PAN y SWIPE se enmascaran entre sí (se confunden), lo mismo los eventos PINCH y ROTATE, al probar se deja uno u otro en la línea 27 Solo se descargo y uso https://github.com/mcrobertw/AplicacionMovil2
  • 14. 7. Gestos(clases doubletap, press, swipe-derecha, swipe- izquierda, rotate ) con animación a través de css Company Logo Se dará animación para 4 determinados gestos Doble tap.- Iluminar zona. Press.- Oscurecer zona. Swipe left y swipe right.- Animación, como moviéndose a la izquierda o derecha. Rotate.- Animación de rotación. gestures.css gestures.js Contiene las configuraciones de las clases doubletap, press, swipe-derecha, swipe-izquierda, rotate y las animaciones CSS con las reglas webkit-keyframes. Contiene el manejo de los eventos doubletap, press, swipe- derecha, swipe-izquierda, rotate usando la librería hammer https://github.com/mcrobertw/AplicacionMovil3
  • 15. 8. Práctica de gestos (Parte 1 de 1) 1. Claro a oscuro gradual. Vamos a modificar la aplicación para que al pulsar los botones de “claro” y “oscuro”, en lugar de modificarse el color de fondo directamente, se haga mediante una animación CSS. Esta animación hará que el color de fondo pase de verde claro a verde oscuro gradualmente, y viceversa. Solución.- En gestures.css dejar las clase claro y oscuro como sigue: body.claro{ background-color: #8de1bd; transition: background-color 5s; } body.oscuro{ background-color: #577a76; transition: background-color 5s; }
  • 16. 8. Práctica de gestos (Parte 2 de 2) 2. Tap simple. Añade a la app la funcionalidad para que, al detectar un tap simple en la zona de gestos, pinte esta zona de color amarillo durante 100 milisegundos, y luego vuelva a su color anterior. Solución.- #zona-gestos.tap{ -webkit-animation: tap 100ms 1; } @-webkit-keyframes tap { 50% { background-color: yellow; } } Agregar el siguiente código en gestures.css hammertime.on('tap', function(ev) { zona.className='tap'; }); Agregar el siguiente código en gestures.js 3. ¿Y sin FastClick? Prueba a eliminar la librería FastClick y comprueba en el dispositivo el cambio de experiencia para el usuario. ¿Qué sucede con la funcionalidad anterior que le hemos puesto al tap? Solución.- La zona de gestos deja de funcionar.
  • 17. 9. Tomar una fotografía con la cámara Desarrollar aplicación para - Tomar una fotografía - Acceder a píxeles de la fotografía usando el canvas - Procesar y aplicar filtros: blanco y negro, esemtia, negativo (hacer lo mismo con una foto de la galería) camera.css camera.js Destaca la clase foto pues es el marco para mostrar la captura que se haga en la cámara. Utiliza la función navigator para capturar foto y enviarla al index.html https://github.com/mcrobertw/AplicacionMovil4
  • 18. 10. Uso de canvas en la capa de fotografía para acceder a los pixeles camera.css camera.js Destaca la clase foto pues es el marco para mostrar la captura que se haga en la cámara. Se modifica el método fotoTomada, incorporando en ella una llamada al método pintarFoto, que se encarga de pintar la imagen tomada en un canvas. https://github.com/mcrobertw/AplicacionMovil5 Se cambia el objeto imagen que captura la fotografía por un canvas, para luego acceder a los pixeles y poder cambiarlos. Canvas se utiliza en videojuegos, animaciones, en la siguiente práctica solo se usará para imprimir en el nuestra imagen.
  • 19. 11. Uso del canvas para cambiar los pixeles de una imagen a negativo, blanco y negro y sepia. Con el canvas se puede acceder a la información de color de una imagen : • RGBA de cada uno de los píxeles, por lo tanto se la puede manipular • Procesar y aplicar filtros: blanco y negro, sepia (color rojo anaranjado oscuro y de saturación débil), negativo. (hacer lo mismo con una foto de la galería) camera.css effect.js Se agrega la clase button-filter para dar el color azul a los 3 botones. Librería desarrollada en miriadax para transformar pixeles a blanco, negro y sepia. https://github.com/mcrobertw/AplicacionMovil6 camera.js Se cambia el método iniciaBoton a iniciaBotones, que envía mensajes (gray, negative, sepia) a otro método que también se creo aplicaFiltro. Se crea una variable global imageData usada en el método aplicaFiltro. Referencias: http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/index.html#cameracameraoptions--object
  • 20. 12. Usar el canvas con imagen de la galería camera.css Se agregó la clase button-gallery para el botón Imagen de Galería. https://github.com/mcrobertw/AplicacionMovil7 camera.js Se cambia el método tomarFoto por cargarFoto. Se modificó el escuchador button-action. Se agregó el escuchador buttonGallery. Se agregó la propiedad sourceType dentro del método cargarFoto.
  • 21. 13. Práctica de cámara (Parte 1 de 2) 1. Mayor calidad​. Vamos a modificar la aplicación para que la calidad de la fotografía que usamos sea mayor. Revisa las opciones del plugin de la cámara de Cordova. var opciones={ quality:100, sourceType: pictureSourceType, destinationType: Camera.DestinationType.FILE_URI, targetWidth:300, targetHeight:300, correctOrientation: true }; 2. Modo selfie. Modifica las opciones del plugin de la cámara para que por defecto aparezca la cámara delantera (si el terminal la tiene) para hacer un selfie. Agregar dentro de la función cargarFoto: cameraDirection:Camera.Direction.FRONT,//prueba practica 2 modo selfie no funciona en android.
  • 22. 13. Práctica de cámara (Parte 1 de 2) 3. Guardar fotos en la galería​. Usa también las opciones del plugin de la cámara para almacenar la fotografías realizadas en la galería del dispositivo. Agregar dentro de la función cargarFoto: saveToPhotoAlbum: true,//prueba practica guardar fotos en la galeria.
  • 23. 14. Geo localización y mapas Geolocalización.- Nos permite acceder a la localización del usuario ofreciendo productos y servicios basados en donde el esta, el dispositivo móvil calcula la localización del usuario usando distintas técnicas: GPS, triangulación de antenas, redes WIFI. A través de la aplicación creada en este curso, se hará un acceso a localización pidiéndosela al dispositivo (vea Dios que método usará cada móvil). Desarrollar una aplicación en donde se pintará sobre un mapa la localización del usuario, y el será capas de marcar distintos puntos a su alrededor como favoritos. PRIMERO. Pedir al dispositivo la localización y pintarla en nuestra aplicación.
  • 24. 15. Extraer localización de dispositivo móvil usando el método geolocation del objeto navigator maps.css Se agrega el id #coords para presentar centradas las coordenadas de longitud y latitud https://github.com/mcrobertw/AplicacionMovil8 maps.js Agregar un escuchador de eventos 'deviceready' manejandolo con la función 'dispositivoListo'
  • 25. SITIOS CON INFORMACIÓN PARA DESARROLLO WEB CUESTIONARIOS Cuestionario 1 https://drive.google.com/file/d/0Bxp10qNggdMeeHhza2lLMGJTZUE/view?usp=sharing Cuestionario 2 https://drive.google.com/file/d/0Bxp10qNggdMeSjU4M1dTc1NMWjQ/view Cuestionario 3 https://drive.google.com/file/d/0Bxp10qNggdMeRlhWajVpV0R4OVE/view Cuestionario 4 https://drive.google.com/file/d/0Bxp10qNggdMedlQyaTB3eUtuOG8/view?usp=sharing CONCLUSIÓN. Curso interesante, sensores y mapas fueron temas que faltan ver. En caso de necesitarlos alguna vez se harán  Un tema que quedo pendiente fue incluier Cordova Application dentro de NetBeans