SlideShare una empresa de Scribd logo
1 de 37
Desarrollo de
Aplicaciones Móviles
Tema: 4 Sensores
PhD(c). Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
ODS
● 4.3 De aquí a 2030, asegurar el
acceso igualitario de todos los
hombres y las mujeres a una
formación técnica, profesional
y superior de calidad, incluida
la enseñanza universitaria
META
La mejor forma de predecir el futuro es crearlo
Abraham Lincoln
Objetivo
● Implementar SQLITE, desde
Xamarin
● 4.1 Introducción a sensores
● 4.2 Uso de cámara en
dispositivo
Contenido
Introducción
Introducción
SQLITE
El trabajo con datos en dispositivos móviles se ha convertido ya en algo común y habitual en el
desarrollo de aplicaciones. Existe una gran variedad de tipos de datos y formas de almacenamiento:
● Archivos de texto. Texto plano o html cacheado en el espacio de almacenamiento aislado de la
aplicación.
● Imágenes. En el espacio de almacenamiento aislado de la aplicación o almacenadas en
directorios conocidos del sistema.
● Archivos serializados. Archivos XML o Json con objetos serializados.
● Bases de datos. Cuando se requieren datos estructurados, obtener información más compleja
con consultas avanzadas entre otro tipo de necesidades, la posibilidad de las bases de datos
es la elección idónea.
Introducción
SQLITE
SQLite es un motor de base de datos Open Source utilizado en todas las plataformas móviles y
adoptado tanto por Apple como Google como Microsoft. El uso de SQLite en aplicaciones móviles
es una gran opción ya que:
● La base de datos es pequeña y fácil de portar.
● La base de datos se concentra en un pequeño archivo.
● Implementa la mayor parte del estándar SQL92.
Introducción
SQLITE
Las ventajas de utilizar una base de datos son múltiples:
● Almacenamiento estructurado con eficacia alta.
● Posibilidad de utilizar consultas y aplicar filtros.
● Posibilidad de reutilizar conocimientos de base de datos en la gestión de datos en nuestras
aplicaciones móviles.
Implementación
Implementación
Crud
Instalar el paquete “ sqlite-net-pcl” en Nuget
Implementación
Crud
Tras añadir la referencia vamos a crear una interfaz que defina cómo obtener la conexión con la
base de datos y abstraer la funcionalidad específica de cada plataforma. Trabajando con SQLite, el
único trabajo específico a implementar en cada plataforma es determinar la ruta a la base de datos.
Implementación
Crear clase SqliteClient en los proyectos Android e iOS
.
Implementación
Proyecto Android
Implementamos la interface y agregar la dependencia assembly.
Implementación
Proyecto iOS
Implementamos la interface y agregar la dependencia assembly.
Implementación
Proyecto principal
Crear una carpeta Models y una clase “Estudiante”, que será el equivalente a una tabla.
Implementación
Proyecto principal
Después de esto crearemos las vistas vistas que usaremos en el proyecto
● Login
● Registro
● ConsultaRegistro
● Elemento
Implementación
LOGIN
Esta pantalla nos servirá como el inicio de sesión en la interfaz de usuario
Crearemos:
1 Entry para el usuario
1 Entry para la contraseña
1 Button para Iniciar sesión
1 Button para ir a la pantalla de registro
Implementación
LOGIN
Implementación
LOGIN
Crearemos una variable para hacer la conexión y volveremos a inicializar dentro del
constructor
Implementación
LOGIN
Crearemos un método de tipo IEnumerable para llegar la clase Estudiante, está
devolverá un valor parecido a un arreglo, mandaremos como parámetro a la conexión, el
usuario y la contraseña del usuario que iniciará sesión.
Y agregamos el método para abrir el registro
Implementación
LOGIN - Botón
El siguiente código lo que trata es encontrar a la base de datos, esta debe ser la que
escribimos en la clase de cada plataforma. Seguidamente crearemos una variable del
tipo IEnumerable<Estudiante> que obtendrá el valor obtenido del método, enviando
como variables a los Entry de usuario y contraseña.
Hacemos la validación, si la variable contiene más de un registro con dicho usuario y
contraseña que inicie sesión y sino que mande un mensaje.
Implementación
LOGIN
Implementación
REGISTRAR
Crearemos un formulario para registrar en la tabla Estudiante, este formulario
tendrá los siguiente elementos esenciales
Entry -> Nombre
Entry-> Usuario
Entry-> Contraseña
Button-> Para registrar
Implementación
REGISTRAR
Implementación
REGISTRAR
Implementación
CONSULTA REGISTRO
Una vez que inicie sesión el usuario podrá ver un listado, es decir; utilizaremos un
ListView para ver todos los registros guardado
Dentro del código XAML usaremos la siguiente plantilla que usa el ya conocido
DataTemplate y por DataBinding accederemos a las propiedades de la clase
Nota: aquí podemos agregar la propiedad ItemSelected al control de ListView de la
vista, de la siguiente manera:
<ListView x:Name=”ListaUsuarios” ItemSelected=”OnSelection”>
Implementación
CONSULTA REGISTRO
Implementación
CONSULTA REGISTRO
Una vez más crearemos la variable de conexión que se inicializa en el constructor de la clase,
además de una variable del tipo ObservableCollection de _TablaEstudiante.
En el método OnAppearing accedemos a la tabla _TablaEstudiantey convertimos a lista con el
método ToListAsync(), todo eso lo mandamos a la variable TablaEstudiante
Esto una ver más lo pasamos a la variable tipo ObservableCollection que si bien también se
puede comprender como una lista.
Por último llenamos nuestro ListView con dicha variable que contiene los registros, y hasta
este punto podremos ver todos los registros de la tabla
Implementación
CONSULTA REGISTRO
Implementación
ELEMENTO.XAML
En el código XAML tendremos un formulario para editar el elemento seleccionado con los
mismos campos que se pretenden afectar, también dos opciones para eliminar o para editar
Implementación
ELEMENTO.XAML.CS
Crearemos los siguientes dos métodos, en caso de ELIMINAR solamente pasaremos como
parámetro al Id por eliminar y dentro del método ejecutamos la consulta DELETE FROM, para
el caso de EDITAR mandaremos los parámetros de nombre, usuario y contraseña y
ejecutamos dicho Query, por último un método para limpiar el formulario después de editar
Implementación
ELEMENTO.XAML.CS
Dentro de la clase tendremos las siguientes variables, una para igualar el Id parametro, la variable de
conexión SQLite y otras dos para almacenar los resultados de cada consulta.
Nota: En el constructor igualamos al Id parámetro con la variable de la clase y usamos ese id para
modificar el mensaje que se muestra en pantalla.
Implementación
ELEMENTO
Ahora dentro del evento de cada botón.
En variable databasePath accedemos a la base de datos, como mencioné anteriormente ¡Debe ser la
misma que la que escribimos en la clase SQLiteDB de cada plataforma!
Una vez hecho esto hacemos la conexión con la varianle db y mandamos a la ruta de la base de
datos.
ResultadoUpdate es la variable que definimos al inicio de la clase, le asignamos como valor al
resultado del método Update ya creado y mandando como parámetro los valores a modificar. Se
añadió un DisplayAlert para cada acción
En el botón de eliminar haremos lo mismo pero en ResuldatoDelete le daremos el resultado del
método Delete, mandando como parámetro el Id del registro que será eliminado
Implementación
ELEMENTO.XAML.CS
Implementación
Ejecución
Tarea
Semana 7
Terminar proyecto final
APP
Informe
Gracias
Responsabilidad con pensamiento positivo

Más contenido relacionado

Similar a DAM-S7.pptx

Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemasunefa
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controladorcom2merwil
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en accessssuser3a82fb
 
Linq to sql 5
Linq to sql 5Linq to sql 5
Linq to sql 5jcfarit
 
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...Ivan Petrlik
 
Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017TAPIA SILVA EVELINA
 
Linq to sql 6
Linq to sql 6Linq to sql 6
Linq to sql 6jcfarit
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptxATM_SSI
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 

Similar a DAM-S7.pptx (20)

Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemas
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Preguntas android
Preguntas androidPreguntas android
Preguntas android
 
patrón MVC.pdf
patrón MVC.pdfpatrón MVC.pdf
patrón MVC.pdf
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
 
Linq to sql 5
Linq to sql 5Linq to sql 5
Linq to sql 5
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacion
 
Manual android
Manual androidManual android
Manual android
 
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017
 
Linq to sql 6
Linq to sql 6Linq to sql 6
Linq to sql 6
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 

Último (20)

Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 

DAM-S7.pptx

  • 1. Desarrollo de Aplicaciones Móviles Tema: 4 Sensores PhD(c). Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec
  • 2. ODS ● 4.3 De aquí a 2030, asegurar el acceso igualitario de todos los hombres y las mujeres a una formación técnica, profesional y superior de calidad, incluida la enseñanza universitaria META
  • 3. La mejor forma de predecir el futuro es crearlo Abraham Lincoln
  • 4. Objetivo ● Implementar SQLITE, desde Xamarin ● 4.1 Introducción a sensores ● 4.2 Uso de cámara en dispositivo Contenido
  • 6. Introducción SQLITE El trabajo con datos en dispositivos móviles se ha convertido ya en algo común y habitual en el desarrollo de aplicaciones. Existe una gran variedad de tipos de datos y formas de almacenamiento: ● Archivos de texto. Texto plano o html cacheado en el espacio de almacenamiento aislado de la aplicación. ● Imágenes. En el espacio de almacenamiento aislado de la aplicación o almacenadas en directorios conocidos del sistema. ● Archivos serializados. Archivos XML o Json con objetos serializados. ● Bases de datos. Cuando se requieren datos estructurados, obtener información más compleja con consultas avanzadas entre otro tipo de necesidades, la posibilidad de las bases de datos es la elección idónea.
  • 7. Introducción SQLITE SQLite es un motor de base de datos Open Source utilizado en todas las plataformas móviles y adoptado tanto por Apple como Google como Microsoft. El uso de SQLite en aplicaciones móviles es una gran opción ya que: ● La base de datos es pequeña y fácil de portar. ● La base de datos se concentra en un pequeño archivo. ● Implementa la mayor parte del estándar SQL92.
  • 8. Introducción SQLITE Las ventajas de utilizar una base de datos son múltiples: ● Almacenamiento estructurado con eficacia alta. ● Posibilidad de utilizar consultas y aplicar filtros. ● Posibilidad de reutilizar conocimientos de base de datos en la gestión de datos en nuestras aplicaciones móviles.
  • 10. Implementación Crud Instalar el paquete “ sqlite-net-pcl” en Nuget
  • 11. Implementación Crud Tras añadir la referencia vamos a crear una interfaz que defina cómo obtener la conexión con la base de datos y abstraer la funcionalidad específica de cada plataforma. Trabajando con SQLite, el único trabajo específico a implementar en cada plataforma es determinar la ruta a la base de datos.
  • 12. Implementación Crear clase SqliteClient en los proyectos Android e iOS .
  • 13. Implementación Proyecto Android Implementamos la interface y agregar la dependencia assembly.
  • 14. Implementación Proyecto iOS Implementamos la interface y agregar la dependencia assembly.
  • 15. Implementación Proyecto principal Crear una carpeta Models y una clase “Estudiante”, que será el equivalente a una tabla.
  • 16. Implementación Proyecto principal Después de esto crearemos las vistas vistas que usaremos en el proyecto ● Login ● Registro ● ConsultaRegistro ● Elemento
  • 17. Implementación LOGIN Esta pantalla nos servirá como el inicio de sesión en la interfaz de usuario Crearemos: 1 Entry para el usuario 1 Entry para la contraseña 1 Button para Iniciar sesión 1 Button para ir a la pantalla de registro
  • 19. Implementación LOGIN Crearemos una variable para hacer la conexión y volveremos a inicializar dentro del constructor
  • 20. Implementación LOGIN Crearemos un método de tipo IEnumerable para llegar la clase Estudiante, está devolverá un valor parecido a un arreglo, mandaremos como parámetro a la conexión, el usuario y la contraseña del usuario que iniciará sesión. Y agregamos el método para abrir el registro
  • 21. Implementación LOGIN - Botón El siguiente código lo que trata es encontrar a la base de datos, esta debe ser la que escribimos en la clase de cada plataforma. Seguidamente crearemos una variable del tipo IEnumerable<Estudiante> que obtendrá el valor obtenido del método, enviando como variables a los Entry de usuario y contraseña. Hacemos la validación, si la variable contiene más de un registro con dicho usuario y contraseña que inicie sesión y sino que mande un mensaje.
  • 23. Implementación REGISTRAR Crearemos un formulario para registrar en la tabla Estudiante, este formulario tendrá los siguiente elementos esenciales Entry -> Nombre Entry-> Usuario Entry-> Contraseña Button-> Para registrar
  • 26. Implementación CONSULTA REGISTRO Una vez que inicie sesión el usuario podrá ver un listado, es decir; utilizaremos un ListView para ver todos los registros guardado Dentro del código XAML usaremos la siguiente plantilla que usa el ya conocido DataTemplate y por DataBinding accederemos a las propiedades de la clase Nota: aquí podemos agregar la propiedad ItemSelected al control de ListView de la vista, de la siguiente manera: <ListView x:Name=”ListaUsuarios” ItemSelected=”OnSelection”>
  • 28. Implementación CONSULTA REGISTRO Una vez más crearemos la variable de conexión que se inicializa en el constructor de la clase, además de una variable del tipo ObservableCollection de _TablaEstudiante. En el método OnAppearing accedemos a la tabla _TablaEstudiantey convertimos a lista con el método ToListAsync(), todo eso lo mandamos a la variable TablaEstudiante Esto una ver más lo pasamos a la variable tipo ObservableCollection que si bien también se puede comprender como una lista. Por último llenamos nuestro ListView con dicha variable que contiene los registros, y hasta este punto podremos ver todos los registros de la tabla
  • 30. Implementación ELEMENTO.XAML En el código XAML tendremos un formulario para editar el elemento seleccionado con los mismos campos que se pretenden afectar, también dos opciones para eliminar o para editar
  • 31. Implementación ELEMENTO.XAML.CS Crearemos los siguientes dos métodos, en caso de ELIMINAR solamente pasaremos como parámetro al Id por eliminar y dentro del método ejecutamos la consulta DELETE FROM, para el caso de EDITAR mandaremos los parámetros de nombre, usuario y contraseña y ejecutamos dicho Query, por último un método para limpiar el formulario después de editar
  • 32. Implementación ELEMENTO.XAML.CS Dentro de la clase tendremos las siguientes variables, una para igualar el Id parametro, la variable de conexión SQLite y otras dos para almacenar los resultados de cada consulta. Nota: En el constructor igualamos al Id parámetro con la variable de la clase y usamos ese id para modificar el mensaje que se muestra en pantalla.
  • 33. Implementación ELEMENTO Ahora dentro del evento de cada botón. En variable databasePath accedemos a la base de datos, como mencioné anteriormente ¡Debe ser la misma que la que escribimos en la clase SQLiteDB de cada plataforma! Una vez hecho esto hacemos la conexión con la varianle db y mandamos a la ruta de la base de datos. ResultadoUpdate es la variable que definimos al inicio de la clase, le asignamos como valor al resultado del método Update ya creado y mandando como parámetro los valores a modificar. Se añadió un DisplayAlert para cada acción En el botón de eliminar haremos lo mismo pero en ResuldatoDelete le daremos el resultado del método Delete, mandando como parámetro el Id del registro que será eliminado
  • 36. Tarea Semana 7 Terminar proyecto final APP Informe