Índice

Almacenamiento en base de datos

Cada dispositivo Android incluye una base de datos SQLite que puede utilizar en sus aplicaciones para almacenar diferentes tipos de datos.

SQLite es una base de datos relacional open source; sólo necesita una pequeña cantidad de memoria en su ejecución.

La sintaxis de SQLite se parece a la de SQL y los tipos utilizados son los mismos (INTEGER, TEXT...).

Una base de datos SQLite es privada y sólo se puede acceder directamente a ella a través de la aplicación que la ha creado. Se encuentra en una ubicación específica del dispositivo: data/data/package_de_la_aplicación/databases

Las operaciones de lectura/escritura no deben realizarse desde el UI thread, sino que hay que externalizarlas en otro Thread o en una AsyncTask, por ejemplo (véase el capítulo Tratamiento en tareas en segundo plano).

Para la creación de una base de datos, necesitará varios elementos:

  • SQLiteOpenHelper: se utiliza para facilitar la creación y la gestión de las distintas versiones de una base de datos.

  • SQLiteDatabase: sirve para exponer los métodos necesarios para la interacción con una base de datos (creación, borrado, actualización…).

  • Cursor: representa el resultado de una consulta. Este resultado puede contener 0 o más elementos.

El siguiente ejemplo permite crear una base de datos que contiene los distintos capítulos del libro con una descripción de cada capítulo. La tabla contiene tres columnas:

  • Columna ...