Índice

ContentProvider

Un ContentProvider (proveedor de contenidos) permite a una aplicación compartir sus datos (almacenados en una base de datos SQLite, en un archivo, en sharedPreferences...) con el resto de aplicaciones.

Además, Android también ofrece varios ContentProvider que son accesibles por las aplicaciones (audio, vídeo, imágenes, contactos...).

Un ContentProvider se compone:

  • De una URI (enlace al proveedor de contenidos).

  • De varios métodos que permiten gestionar los datos (insert, query, update, delete).

images/11ri01.png

Para acceder a un ContentProvider, debe utilizar su URI. Ésta se compone de las siguientes partes:

images/11ri02.png
  • La sección A representa el prefijo estándar que designa un ContentProvider.

  • La sección B identifica la autoridad (aplicación) responsable del ContentProvider.

  • La sección C designa al grupo de datos consultado.

  • La sección D representa el identificador del dato solicitado.

1. Crear un ContentProvider

Para crear un ContentProvider hay que seguir los siguientes pasos:

  • Implementar un sistema para almacenar los datos (base de datos SQLite, archivos, sharedPreferences...).

  • Crear una clase que extienda de la clase ContentProvider.

  • Declarar el ContentProvider en el manifiesto de la aplicación.

  • Sobrecargar los siguientes métodos:

  • query: permite obtener un dato almacenado en un proveedor de contenidos. Este método devuelve un Cursor.

  • insert: permite insertar un dato en un proveedor de contenidos.

  • update: permite actualizar un dato ya existente en un proveedor de contenidos. ...