Saltar al contenido

Content provider in android

¿Qué es un proveedor de contenidos? ¿Hasta qué punto es explotable?

Sin embargo, antes de que una aplicación pueda recuperar datos, debe recibir permiso para hacerlo. Este paso sólo debe realizarse una vez para cada aplicación, pero es necesario antes de que la aplicación pueda intentar cualquier operación de lectura.

Cada URI de contenido incluye la autoridad del proveedor de contenido representada como un nombre simbólico junto con el nombre del paquete de un proveedor de contenido o la ruta a una tabla que contenga su contenido. Cuando se llama a un método cliente para acceder a un proveedor de contenidos o a una tabla, el URI de contenido se pasa como argumento.

Cuando se aprovisionan uno o más de los tipos de aplicaciones enumerados anteriormente, la autorización para acceder a la ZDPI se puede conceder utilizando StageNow y Access Manager, OEMconfig y Service Access Configuration, o el propio sistema Enterprise Mobile Management de la empresa.

Resolución de contenidos en android

El siguiente diagrama muestra el flujo de consulta desde una actividad que utiliza un resolvedor de contenidos al proveedor de contenidos a los datos en una base de datos SQL, y viceversa. Tenga en cuenta que el almacenamiento de los datos en una base de datos SQLite es común, pero no es necesario.

Consideremos una aplicación que mantiene un inventario de sombreros y lo pone a disposición de otras aplicaciones que quieren vender sombreros. La aplicación propietaria de los datos gestiona el inventario, pero no tiene una interfaz de cara al cliente. Dos aplicaciones, una que vende sombreros rojos y otra que vende sombreros de fantasía, acceden al repositorio de inventario y cada una obtiene datos relevantes para sus aplicaciones de compra.

Para que te hagas una idea de toda la arquitectura del proveedor de contenidos, esta sección muestra y resume todas las partes de la arquitectura del proveedor de contenidos implementada, como se muestra en el siguiente diagrama. A continuación se tratará cada parte en detalle.

Datos y Open Helper: El repositorio de datos. Los datos pueden estar en una base de datos, un archivo, en Internet, generados dinámicamente, o incluso una mezcla de ellos. Por ejemplo, si tuviéramos una aplicación de diccionario, el diccionario base podría almacenarse en una base de datos SQLite en el dispositivo del usuario. Si una definición no se encuentra en la base de datos, podría obtenerse de Internet y, si eso también falla, la aplicación podría pedir al usuario que proporcione una definición o compruebe su ortografía.

Cómo obtener datos del proveedor de contenidos en android

INSERCIÓNSupongamos que desea insertar nuevos contactos a su libreta de direcciones. Para realizar estas inserciones se utiliza el objeto ContentValues. Las claves del objeto ContentValue y las columnas del proveedor de contenidos deben coincidir para conseguirlo. He aquí un ejemplo:EJEMPLO DE CÓDIGO PARA LA INSERCIÓN :

UPDATINGPara actualizar un proveedor de contenidos se utilizan los siguientes argumentos:1) URI: La URI del proveedor de contenidos2) ContentValues: Contiene los valores que sustituirán a los datos existentes.3) Cláusula de selección: Esto puede ayudar a seleccionar los registros específicos que se actualizarán4) Selection Argument: Puede incluir «?s» en la selección, que se sustituirán por los valores de selectionArgs, en el orden en que aparezcan en la selección.Una vez más, las claves del objeto ContentValues deben coincidir con las columnas del Content Provider; de lo contrario, la actualización no se produciría.EJEMPLO DE CÓDIGO PARA LA ACTUALIZACIÓN:String where = ContactsContract.Data.DISPLAY_NAME + » = ? «;

Ejemplo de proveedor de contenidos

Los proveedores de contenido son el mecanismo central de Android que le permite acceder a los datos de otras aplicaciones – en su mayoría información almacenada en bases de datos o archivos planos. Como tales, los proveedores de contenido son uno de los tipos de componentes centrales de Android para soportar el enfoque modular común a Android. Sin los proveedores de contenido, acceder a los datos de otras aplicaciones sería un lío.

Los proveedores de contenido soportan las cuatro operaciones básicas, normalmente llamadas operaciones CRUD. CRUD es el acrónimo de create (crear), read (leer), update (actualizar) y delete (eliminar). Con los proveedores de contenido esos objetos simplemente representan datos – la mayoría de las veces un registro (tupla) de una base de datos – pero también podrían ser una foto en tu tarjeta SD o un vídeo en la web. Veamos cómo crear un proveedor de contenidos.

Antes de crear tu ContentProvider, es una buena idea crear clases contractuales que definan el esquema de tu base de datos. Consideremos la creación de una base de datos de películas. Dentro de nuestra clase MovieContract, necesitamos definir algunas propiedades: una autoridad de contenido, que es un identificador único para nuestra base de datos, un URI base, y nombres de ruta para cada tabla:

0/5 (0 Reviews)