Skip to content

Uso de un Content Provider personalizado

Tras ver en el tutorial anterior cómo crear un Content Provider personalizado, describiremos los pasos necesarios para implementarlo utilizando la clase ContentResolver .

ContentResolver es el mecanismo que proporciona Android para acceder a todas las acciones sobre el Content Provider. Un ContentResolver nos permite acceder a los datos del Content Provider, ya que es el encargado de recibir las solicitudes del cliente, ejecutar la acción solicitada y mostrar los resultados de dicha ejecución.

Lógica de intercambio de datos entre aplicaciones

En el siguiente diagrama se representa esquemáticamente los componentes y elementos que intervienen en este intercambio de datos: base de datos, métodos, Content Provider, Content Resolver, Activities y Aplicaciones.

Diagrama lógica de intercambio datos entre Content Providers

Implementación de un ContentResolver

  1. En primer lugar, debemos disponer de un Content Provider para acceder a los datos que contiene.
  2. Posteriormente, dentro de nuestra segunda aplicación (será la encargada de realizar las solicitudes al Content Provider definido), se declara e inicializa la clase ContentResolver, referenciándole el método getContentResolver() , que nos permitirán acceder a los métodos sobrescritos en la clase que hereda de la clase base ContentProvider:
  3. Además será necesario declarar e inicializar la clase Cursor (clase que permite almacenar el resultado de una consulta realizada a una base de datos), referenciándole el objeto ContentResolver, e invocando los métodos que implementa la clase base ContentProvider. A continuación, se muestra un ejemplo de consulta de datos en SQLite, que recibe como argumentos la URI del Content Provider, un array de Strings con las columnas a consultar, el filtro de las filas a devolver (cláusula SQL WHERE), valor a comprobar dentro de la cláusula WHERE, y por último el orden de salida de los resultados devueltos:Construcción del método query():
    Ejemplo:
  4. Finalmente, se recorrerán los resultados almacenados de la consulta en el objeto Cursor, comprobando en cada iteración que existe el registro siguiente:

En la próxima publicación de esta serie, veremos brevemente los métodos que implementa la clase Content Provider. Posteriormente, para finalizar esta serie, desarrollaremos dos proyectos que nos servirán de ejemplo práctico para lo que hemos presentado en estos primeros tutoriales, la creación y uso de un Content Provider personalizado.

Esta entrada tiene un comentario

Los comentarios están cerrados.

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad