Persistencia en Android: de la Base de Datos al Content Provider - Appmaster.es Persistencia en Android: de la Base de Datos al Content Provider - Appmaster.es

Persistencia en Android: de la Base de Datos al Content Provider

Persistencia en Android: de la Base de Datos al Content Provider

Persistencia en Android: de la Base de Datos al Content Provider

Continuamos con el módulo de Android en el Máster en Mobile Business edición Murcia. En concreto continuamos estudiando el sistema de persistencia de Android, limitado pero más que suficiente para los dispositivos móviles en la mayoría de casos. En las últimas clases hemos hecho un recorrido por los distintos tipos de almacenamiento persistente que nos brinda la plataforma: Preferencias compartidas o Shared Preferences, almacenamiento de ficheros en memoria, como utilizar una base de datos SQLite y los proveedores de contenidos o Content Providers.

Preferencias compartidas o Shared Preferences

Las Shared Preferences de Android nos proveen de un framework para guardar y recuperar tipos de datos primitivos que son guardados en forma de pares clave-valor. Podemos guardar booleanos, floats, enteros, longs y cadenas de caracteres. Esta información permanecerá persistente aunque la aplicación muera. De esta forma podemos recuperar/guardar la información que queramos que quede persistente al inicio y cierre de nuestra aplicación.

En clase tuvimos oportunidad de comprobar a través de proyectos de ejemplo como guardar y recuperar datos de nuestras Shared Preferences haciendo uso de los métodos de callback del ciclo de vida del Activity. También vimos cómo funciona la clase PreferenceActivity que nos brinda Android para facilitarnos la construcción de pantallas de preferencias permitiendo mantener persistentes las preferencias del usuario.

Almacenamiento de ficheros en memoria

Memoria Interna

Android nos permite leer y escribir datos en ficheros de la memoria interna a través de los métodos habituales para trabajar con ficheros en Java. También nos permite hacer uso del directorio de cache para tales usos, pero hay que ser precavidos ya que la chache tendremos que manejarla nosotros y abusar mucho de este directorio puede ralentizar nuestra aplicación.

Memoria Externa

Casi todos los dispositivos Android soportan el uso de memoria externa ya sea en forma de tarjeta SD o no. Hay que tener en cuenta que cualquier archivo en esta memoria es accesible a todo el mundo, es decir, cualquier aplicación puede leer y escribir ahí. Al contrario que la memoria interna, en la memoria externa necesitamos solicitar permisos en el Manifest para tener acceso a ella.

Base de Datos SQLite

Android provee soporte completo para base de datos de tipo SQLite. Se trata de un tipo de base de datos muy pequeña y ligera ya que está basada en ficheros, por eso es ampliamente utilizada en sistemas móviles. Para ayudarnos a gestionar la base de datos Android recomienda hacer uso de la clase de ayuda que nos proporciona SQLiteOpenHelper.

En las clases de persistencia hicimos un recorrido completo sobre cómo usar una base de datos en Android. Desde los primeros pasos, creando las estructuras de datos y tablas, hasta la gestión de las mismas creando una clase que herede de SQLiteOpenHelper e implementando los métodos para gestionar nuestra base de datos: leyendo, guardando, actualizando y borrando registros en las tablas.

Además de todo esto estudiamos buenas prácticas a la hora de trabajar con base de datos y tuvimos una aproximación a otra técnica para gestionarlas: los ORM. Esta técnica realiza un mapeo de las entidades relacionales de la base de datos a objetos.

Proveedor de contenido o Content Provider

Un proveedor de contenidos permite compartir y tener acceso a información de otras aplicaciones. Se accede a ellos a través de sus Content URIs, que no son más que cadenas de texto al estilo de las direcciones web. Se implementan heredando de ContentProvider pero se accede a ellos a través de objetos ContentResolver. Su utilización es similar a la de una base de datos pero no tienen por qué brindar acceso a una base de datos.

En clase realizamos ejemplos donde vimos los pasos necesarios para crear y consumir un Content Provider propio. Así mismo también realizamos proyectos donde consumimos los proveedores de contenido proporcionados por Android. Entre los que probamos estaban el Contact Provider, Calendar Provider y Media Provider, que nos proporcionan acceso a información de contactos, calendario y multimedia respectivamente.

The following two tabs change content below.

Fran Gilberte

Deja un comentario

Tu dirección de correo electrónico no será publicada.