M0286_Libro Curso
2: Avanzado en Android
2.4.3. Utilizar un ContentProvider En la unidad 1 de este temario ya se habló de los ContentProvider , y recordamos ahora que los archivos escritos en una aplicación no podrán ser accedidos por ninguna otra aplicación, tal y como se define en el modelo de seguridad Android. Recordemos también, que cada aplicación o programa tiene un ID de usuario Linux propio y directorio de datos ( data/data/nombrePaquete ), al igual que su espacio protegido de memoria. Hay dos formas de comunicarse entre programas de Android: ■ IPC (Inter Process Communication) que es la comunicación entre procesos. Esta técnica se utiliza para llamadas entre procedimientos remotos a hilos de ejecución Service que se ejecutan en segundo plano. No hablaremos de estos métodos, pero si se quiere más información al respecto se puede visitar: ■ ContentProvider: los procesos se van a registrar por sí mismos en el sistema como proveedores de ciertos tipos de datos. Cuando se necesita cierta información, Android los llama mediante una API fija para poder acceder a ese contenido, ya se para solo consultarlo o modificarlo. Esto lo vamos a utilizar en nuestro ejemplo de accesos. Como ya vimos en la unidad 1, los ContentProvider gestionan la información mediante un direccionamiento a través de una URI con la forma siguiente: content://authority/path/id Dónde: ■ content:// es el prefijo estándar. ■ Authority es el nombre del proveedor. Usar siempre el nombre completo del paquete para evitar problemas con los nombres y posibles colisiones. ■ Path es el directorio virtual incluido en el proveedor, con el que identificamos el tipo de datos que requerimos de él. ■ Id es la clave primaria del registro especifico que necesitamos Un ejemplo de ellos sería: ■ content://browser ■ content://contactContract □ http://d.android.com/guide/developing/tools/aidl.html □ http://d.android.com/reference/android/app/Service.html □ http://d.android.com/reference/android/os/IBinder.html
■ content://media ■ content://settings
135
Made with FlippingBook - Online catalogs