Los tipos de persistencia en Android, por lo general, puede dividirse en tres grupos:
- Preferencias compartidas: conjunto de pares clave-valor. Pueden ser privadas (únicamente accesibles desde la aplicación) o compartidas con otras aplicaciones.
- Ficheros: una aplicación Android puede almacenar y consultar datos tanto de la carpeta privada de la aplicación como de la tarjeta SD.
- Base de datos: cada aplicación puede disponer de una base de datos local en formato SQLite en la que realizar operaciones SQL como si de un SGDB normal y corriente se tratara.
A continuación pasaremos a explicar en qué consisten y cómo utilizar estos tres tipos de persistencia.
Estructura interna de la aplicación
Cada aplicación que se instala en el dispositivo crea una carpeta con el nombre de su paquete principal dentro de la ruta /data/data de la memoria interna del dispositivo. Dentro de esa carpeta privada (que no puede ser accedida por ningún otro proceso salvo que se disponga de un terminal de desarrollo o se «rootee» el dispositivo) se aloja una estructura en la que, entre otros, se encuentran las siguientes carpetas:
- /shared_prefs: contiene un conjunto de ficheros XML que se corresponden a los nombres de las preferencias compartidas. Almacena un mapa con pares clave-valor.
- /files: contiene los archivos del sistema, que pueden ser binarios o de texto.
- /databases: contiene las bases de datos SQLite asociadas a la aplicación.
- /cache: contiene los datos temporales de la aplicación
A continuación veremos con un poco más de detalle el significado de estos directorios y la relación con los medios de persistencia que Android ofrece.