Tutorial SQLite en Android: clases, métodos, base de datos y sentencias SQL

Los desarrolladores Android pueden elegir varias opciones de almacenamiento y gestión de datos, incluidas bases de datos SQLite. Con SQLite, las apps modelan datos en tablas y columnas, con relaciones opcionales. La fuente resultante se consulta y gestiona con sentencias SQL. Crear y administrar una BD SQLite implica unos elementos clave.

Extender clases

Para crear una clase en una app Android para programación SQLite, los desarrolladores pueden extender la clase SQLiteOpenHelper. Ejemplo de declaración:

public class MyDataAdministrator extends SQLiteOpenHelper {
// implementación de la clase
}

Dentro, el código gestiona creación, actualización y consultas. SQLiteOpenHelper maneja los detalles de conexión y gestión de la BD, permitiendo a esta clase centrarse en detalles de la app, construyendo y ejecutando sentencias SQL según las necesidades.

Sobrescribir métodos

Dentro de la clase Java que extiende SQLiteOpenHelper, el desarrollador puede sobrescribir el método "onCreate". Permite a la app especificar los detalles de su BD:

public void onCreate(SQLiteDatabase db) {
// operaciones de datos al inicio
}

Este esquema sobrescribe el método "onCreate" de la superclase. Se llama cuando se crea la clase (cuando código externo crea una instancia). Dentro, los desarrolladores realizan tareas de configuración necesarias, como crear tablas.

Detalles de la base de datos

Los detalles de la BD pueden incluirse en el constructor de la clase que extiende SQLiteOpenHelper. Al heredar, puede llamar al superconstructor pasando sus propios detalles:

MyDataAdministrator(Context context) {
super(context, "mydbname", null, 1);
}

El constructor se llama al crear una instancia. Al llamar al superconstructor, pasa los detalles de la BD como parámetros: nombre (string) y versión (entero).

Sentencias SQL

Una vez configurada la clase SQLite, el código ejecuta sentencias SQL. Ejemplo dentro de "onCreate":

String queryString = "CREATE TABLE my_table (item_id INTEGER, item_name TEXT);"
db.execSQL(queryString);

Usa el parámetro pasado a "onCreate" representando la BD para llamar a "execSQL", pasando una variable string que modela la sentencia SQL a ejecutar (crear tabla con columnas específicas).