SQLite
P
r
a
c
t
i
c
a
Elaborado
por:
Sergio
Ramrez
Ulloa.
Introduccin
Sqlite es un sistema de gestion de base de datos relacional compatible con ACID
que se encuentra en forma de biblioteca. El conjunto de la base de datos
(definiciones, tablas, ndices, y los propios datos), son guardados como un slo
fichero oculto en el dispositivo movil. Este diseo simple se logra bloqueando todo el
fichero de base de datos al principio de cada transaccin. En su version 3, permite
bases de datos de hasta 2 Terabytes y campos tipo BLOB. Implementa la mayor parte
del estndar SQL-92.
Objetivo
de
la
practica:
En esta prctica aprenderemos a trabajar con la API de android para SQLite.
Contruiremos una aplicacin que incluya las operaciones basicas con una base de
datos (CRUD).
Requisitos:
1. Conocimiento de cmo crear y dar funcionalidad a Botones.
2. Crear Clases Java y heredar de otras clases.
3. Conocimientos basicos en SQL.
A. CREACIN
DEL
DISEO
DE
LAS
VISTAS
Utilizaremos un proyecto con un Activity vacio (Empty Activity).
1. Agregar 5 botones: Insertar, Mostrar un registro, Modificar, Borrar, Lista de
registros. Agregar sus respectivos textos en el archivo [Link].
2. Modificar los ids de cada boton para poder identificarlos correctamente desde
java. Ejemplo: id: buttonInsertar.
3. Crear la clase AyudanteAperturaSQLite.
a. Crear una nueva clase AyudanteAperturaSQLite
b. Heredar de la clase SQLiteOpenHelper.
c. Agregar los metodos no implementados.
d. Agregar el constructor predefinido con la menor cantidad de parametros.
Si tuviste algun problema para realizar los pasos anteriores aqu estan imagenes
paso a paso de cmo realizarla:
a. Encima del espacio de nombres dentro de la carpeta Java presionar botn
derecho del mouse, en el men contextual elegir newJava Class.
b y c. Despues de creada la clase agregar extends SQLiteOpenHelper,
presionar el foco rojo que aparece y despues Implement methods.
d. Despues de crear los metodos, presionamos nuevamente la parte subrayada
con rojo y al aparecer el foco rojo seleccionamos create constructor matching
super.
Posteriormente seleccionamos el primer constructor en la ventana emergente
que aparece.
e. Una vez creada la clase AyudanteAperturaSQLite, agregar el siguiente
codigo:
4. En la clase Activity crear los objetos de cada botn y enlazarlos con sus
respectivas vistas de xml.
5. Agregar cada uno de los eventos de cada botn.
6. Agregar una nueva Activity vacia y agregar un ListView.
B. CODIGO
DE
OPERACIONES
BASICAS
CON
SQLITE
7. Agregar una instancia de la clase AyudanteAperturaSQLite
El codigo lucira asi:
private GestionarSQlite gestionarSQLite =
new GestionarSQlite(this, "BASE_SQLITE", null,1);
8. Codigo para insertar:
// creada en modo escritura
SQLiteDatabase db = [Link]();
// Si hemos abierto correctamente la base de datos
if (db != null) {
// Insertamos los datos en la tabla Alumno
[Link]("INSERT INTO Alumno (codigo, nombre) "
+ "VALUES (15, 'Juan')");
[Link]("INSERT INTO Empleado(nombre,fecha_ingreso)
VALUES('Pepito','2015-02-05 [Link]')");
// Creamos el registro a insertar como objeto
// ContentValues
ContentValues nuevoRegistro = new ContentValues();
[Link]("nombre", "Victoria");
[Link]("codigo", "10");
// Insertamos el registro en la base de datos
[Link]("Alumno", null, nuevoRegistro);
// Cerramos la base de datos
[Link]();
}
makeText(getApplicationContext(), "Datos ingresados", LENGTH_SHORT).show();
9. Codigo para actualizar:
// creada en modo escritura
SQLiteDatabase db = [Link]();
// Si hemos abierto correctamente la base de datos
if (db != null) {// 2
// Establecemos los campos-valores a actualizar
ContentValues valores = new ContentValues();
[Link]("Nombre", "fulanito");
// Actualizamos el registro en la base de datos
[Link]("Alumno", valores,
"Nombre='Empleado4'", null);
// Actualizamos el registro con parametros
String[] parametros = new String[] { "Empleado2",
"Empleado3" };
[Link]("Alumno", valores,
"Nombre=? OR Nombre=?", parametros);
// Cerramos la base de datos
[Link]();
}// 2
makeText(getApplicationContext(),
"Datos modificados en la BD", LENGTH_LONG)
.show();
10. Codigo para borrar:
// creada en modo escritura
SQLiteDatabase db = [Link]();
// Si hemos abierto correctamente la base de datos
if (db != null) {// 2
// Eliminar un registro utilizando parametros
String[] params = new String[] { "Empleado1" };
[Link]("Alumno", "Nombre=?", params);
// Cerramos la base de datos
[Link]();
}// 2
makeText(getApplicationContext(),
"Datos borrados en la BD", LENGTH_LONG)
.show();
11. Codigo para mostrar un solo registro:
SQLiteDatabase db = [Link]();
Cursor c = [Link]("SELECT Codigo, Nombre, Fecha FROM Alumno WHERE
Nombre = 'Juan' ",null);
if([Link]())
{
[Link](getApplicationContext(),
[Link](1).toString() + " " + [Link](2).toString(),
LENGTH_SHORT).show();
}
// [Link]([Link]("Codigo"));
[Link]();
12. Codigo para mostrar varios registros:
SQLiteDatabase db = [Link]();
Cursor c = [Link]("SELECT Codigo, Nombre, Fecha FROM Alumno ",null);
ArrayList<String> listaArreglo = new ArrayList<String>();
while ([Link]())
{
[Link]([Link]([Link]("codigo")) +" "+ [Link](2));
}
Intent i = new Intent(getApplicationContext(),[Link]);
Bundle b = new Bundle();
[Link]("lista",listaArreglo);
[Link](b);
startActivity(i);
13. Codigo para recuperar el Array de String enviado en el paso anterior.
ArrayAdapter<String> adaptador =
new ArrayAdapter<String>(getApplicationContext(),
[Link].elemento_individual,
getIntent().getStringArrayListExtra("lista"));