informacion[arroba]academiaandroid.com +34 958084455
Post Series: Content Providers personalizados

En tutoriales anteriores, ya presentamos a los Content Provider y trabajamos con varios ya definidos que proporciona Android. En esta nueva serie, vamos a ver otra opción, que es la implementación de Content Providers personalizados.

Android nos ofrece la posibilidad de crear nuestros propios proveedores de contenidos, y para ello nos proporciona el package android.content , dónde se encuentra la clase ContentProvider, que será la encargada de almacenar todos los datos a los que se accederá desde cualquier aplicación. A cada elemento Content Provider se le asocia una URI única, que lo representa y a través de la cual el resto de componentes de otras aplicaciones acceden a él.

URI (Uniform Resource Identificator). El denominado “identificador de recursos uniforme” está formado por una cadena de caracteres que identifica de manera inequívoca los recursos de una red.

En el siguiente diagrama vemos la referencia a un Content Provider a través de una URI:

ejemplo estructura URI de un Contact Provider

A continuación, vamos a ver los pasos necesarios para la creación de un Content Provider propio:

  1. Se debe definir una clase que herede de la clase base ContentProvider y que hemos denominado en este caso InformacionComún:
  2. Se declara e inicializa una constante de la clase Uri, que recogerá la URI  que identificará de manera única el Content Provider (revisar imagen con ejemplo de estructura URI):
  3. Indicar el tipo de almacenamiento que se va a establecer. Este almacenamiento puede ser desde una base de datos SQLite a un archivo local.
  4. Declarar e inicializar un array de Strings, con las columnas que se desean obtener (ejemplo para base de datos SQLte):
  5. Se sobrescribirán los métodos que implementa la clase ContentProvider:
  6. Por último, dentro del AndroidManifest.xml, y más concretamente dentro de la etiqueta <application>, se añadirá el provider, como se muestra a continuación (el atributo exported se establece en true para habilitar el envío de mensajes de fuentes externas a la aplicación):

En el siguiente tutorial, veremos como usar un Content Provider personalizado que hayamos creado.

This Post Has 2 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Para evitar robots, por favor completa esta sencilla operación *