Ejemplo utilizando Android Studio, de como loguearse en una aplicacion Android utilizando una base de datos manejada con la libreria SQLite. Creando la interfaz con los organizadores de interfaz LinearLayout, FrameLayout.
7. Logueo utilizando SQLite
Pantalla que ve el usuario al iniciar la App
http://www.slideshare.net/emergar
1. Una caja de entrada de texto(EditText), que solicita la cuenta de usuario
2. Un botón(Button) de acción, que permite continuar siempre y cuando
el nombre de usuario exista en la base de datos.
8. Logueo utilizando SQLite
Pantalla usuario existe, solicita clave
http://www.slideshare.net/emergar
1. EditText que solicita la clave de usuario.
2. Button(Acceder) que permite acceder siempre y cuando la clave sea
igual a la asociada a la cuenta de usuario en la base de datos.
3. TextView que muestra la cuenta y el nombre completo de usuario.
4. Button(<-- Anterior) que permite ir a la pantalla inicial.
14. Logueo utilizando SQLite
¿Qué es SQLite?
http://www.slideshare.net/emergar
• es un proyecto de dominio
publico creado por D. Richard
Hipp, que implementa una
pequeña librería de
aproximadamente 1600KiB
codificada en lenguaje C, que
funciona como un sistema de
gestión de bases de datos
relacionales
Descripción
• Permite almacenar información
en dispositivos empotrados de
una forma sencilla, eficaz,
potente, rápida y en equipos
con pocas capacidades de
hardware, como puede ser una
PDA o un teléfono celular.
Usos
15. Logueo utilizando SQLite
¿Qué es SQLite?
http://www.slideshare.net/emergar
• implementa el estándar
SQL92 y también agrega
extensiones que facilitan
su uso en cualquier
ambiente de
desarrollo(Java, Delphi,
Perl, Python,
Ruby,…Pascal, SmallTalk,
Clipper,…).
Soporte
• se puede usar tanto en
dispositivos móviles como en
sistemas de escritorio, sin
necesidad de realizar procesos
complejos de importación y
exportación de datos, ya que
existe compatibilidad al 100%
entre las diversas plataformas
disponibles.
Portabilidad
16. Logueo utilizando SQLite
Aspectos de Trabajar con SQLite en Android
http://www.slideshare.net/emergar
Incorporada
• Android
incorpora la
librería de
SQLite para
trabajar con
BD.
Sencilla y
Ligera
• SQLite es
sencilla de
utilizar y con
muy poca
demanda de
recursos.
Potente
• Ligeramente
mas compleja
de usar que
los ficheros,
pero mucho
mas potente.
17. Logueo utilizando SQLite
Tipos de datos soportados en SQLite 3
•TEXTO
• Valor de texto codificado
en UTF-8, UTF-16BE o
UTF-16LE
TEXT
•ENTERO
• Valor Entero con signo,
alojado entre 1-8 bytes
dependiendo de la
magnitud del valor.
INTEGER
•REAL
• Valor real
REAL
•BLOB
• (Binary Large Objects) o
datos de gran tamaño,
generalmente
imágenes, sonido,
vídeo...
NONE
•NUMERIC
• Valores numéricos para
múltiples propósitos
NUMERIC
https://www.sqlite.org/datatype3.html
http://www.slideshare.net/emergar
18. Logueo utilizando SQLite
Afinidad tipos SQLite 3 con SQL estándar
Tipos de
datos
SQLite 3
INTEGER
INT, INTEGER, TINYINT, SMALLINT,
MEDIUMINT, BIGINT, UNSIGNED BIG INT,
INT2, INT8
TEXT
CHARACTER(20), VARCHAR(255), VARYING
CHARACTER(255), NCHAR(55), NATIVE
CHARACTER(70), NVARCHAR(100), TEXT, CLOB
NONE
Si el tipo declarado para una columna contiene la
cadena "BLOB" o si no se especifica ningún tipo,
la columna tiene afinidad NONE.
REAL
REAL, DOUBLE, DOUBLE PRECISION,
FLOAT
NUMERIC
NUMERIC, DECIMAL(10,5), BOOLEAN,
DATE, DATETIME
http://www.slideshare.net/emergar
19. Logueo utilizando SQLite
Clases para manipular BD con SQLite
http://www.slideshare.net/emergar
SQLiteOpenHelper
• Esta clase tiene un
constructor y dos
métodos abstractos:
onCreate() y
onUpgrade(), que
deberemos
personalizar para
crear y actualizar la
estructura de la BD,
además de cargar
los datos iniciales de
las tablas básicas.
SQLiteDatabase
• Una referencia a
esta clase es la
encargada de
manipular las
acciones sobre la
base de datos
creada, sea para
leer(métodos
rawQuery, query) o
escribir(método
execute) en ella.
Cursor
• La objetos de la
clase Cursor son
utilizados para
almacenar las filas
que resulten de una
consulta a la Base de
Datos.
20. Logueo utilizando SQLite
Manejo en SQLite de fechas y horas
SQLite no tiene un tipo
especifico para almacenar
las fechas y horas.
Las fechas y horas deben
tratarse como una cadena
o un número.
http://www.slideshare.net/emergar
21. Logueo utilizando SQLite
Manejo en SQLite de fechas y horas
TEXT
• Como una cadena de texto según la ISO8601
• ("AAAA-MM-DD HH: MM: ss.sss").
REAL
• Como una fecha juliana, es decir, el número de días transcurridos
desde el mediodía del 1 de enero del año 4713 a.c. ( por ejemplo
el 1 de enero del 2000 correspondería con el valor 2451545)
INTEGER
• Como hora en Unix, el número de segundos desde 1970-01-01
00:00:00 UTC.
http://www.slideshare.net/emergar
22. Logueo utilizando SQLite
Manejo en SQLite de fechas y horas
http://www.slideshare.net/emergar
Por lo tanto hay que trabajar de forma
diferente las fecha y horas.
Funciones que dispone SQLite para
trabajar con las fechas y horas:
http://sqlite.org/lang_datefunc.html
32. Logueo utilizando SQLite
Glosario
FrameLayout: coloca todos sus controles hijos
alineados con su esquina superior izquierda (siempre
que no se indique lo contario con la propiedad
layout_gravity de cada control), por tal, cada control
queda oculto por uno nuevo (a menos que el último
tenga transparencia). Sencillo para un sólo elemento
sustituible, por ejemplo una imagen. También para
mostrar un conjunto de controles según se cumplan o
no unas condiciones, permitiendo trabajar sobre una
misma actividad, aunque para el usuario parezca otra
pantalla.
http://www.slideshare.net/emergar
33. Clase Descripción Imagen
EditText Una caja para entrada de texto.
Button Un botón de acción.
TextView Una etiqueta.
Toast Una pequeña ventana informativa, que
se visualiza durante un intervalo de
tiempo, sin interferir con las acciones de
la Activity actual.
Activity Representa una pantalla de la
aplicación.
Logueo utilizando SQLite
Glosario
http://www.slideshare.net/emergar
34. Logueo utilizando SQLite
Herramientas Utilizadas
http://www.slideshare.net/emergar
Mis videos en mi canal de youtube:
Android: Iniciar Sesión con SQLite
(Parte 1 de 4):
https://www.youtube.com/watch?v=wHu7XPS8NqA
(Parte 2 de 4):
https://www.youtube.com/watch?v=ZbwAUrfNICo
(Parte 3 de 4):
https://www.youtube.com/watch?v=4RtQ8I5LM7U
(Parte 4 de 4):
https://www.youtube.com/watch?v=1jIdRy_l7WU