Bienvenidos sean a este post, hoy hablaremos sobre algo que hemos estado viendo pero no explicamos hasta ahora, estas son las URI (Identificadores de Recursos Uniformes por sus siglas en Ingles) que son cadenas de texto las cuales nos permiten identificar un recurso de informacion, se suelen usar frecuentemente en internet.
Una URI esta formada por cuatro partes:
<standard_prefijo>://<autoridad>/<path_de_datos>/<id>
Primero tendremos un estandar prefijo el cual en caso de Android siempre debe ser content, luego debera ser la autoridad que sera la clase del tipo de informacion almacenada que buscaremos, despues el path de datos donde iremos a la informacion, y por ultimo el id sera nuestro elemento final para identificarlo un poco mejor. Por ejemplo veamos el siguiente URI:
content://call_log/calls
Esta nos permitira acceder al registro de las llamadas (entrantes, salientes y perdidas), en este caso tendremos el prefijo (content), la autoridad (call_log) y el path de datos (calls), en este caso es muy generico pero nosotros podemos ser mas especificos utilizando el id, utilicemos el ejemplo anterior pero con un id:
content://call_log/calls/4
Con este id estamos diciendo que necesitamos acceder a la llamada con el identificador numero 4, esta puede ser la cuarta llamada de la lista, a su vez en un ContentProvider puede contener multiples conjuntos identificados por distintos URI, veamos algunos ejemplos de URI para contenidos multimedias en el dispositivo movil:
content://media/internal/images
content://media/external/video/5
content://media/*/audio
En este caso la autoridad es MediaStore y en el URI lo identificaremos como media, observen como el path de datos puede variar entre los distintos URI donde pueden ser mas largos o mas cortos, veamos una tabla con algunos ejemplos y clases utilizados en URI:
Clase | Informacion almacenada | Ejemplo |
browser | Favoritos, historial de navegacion y busqueda | content://browser/bookmarks |
CallLog | Llamadas entrantes, salientes y perdidas | content://call_log/calls |
Contacts | Lista de contactos | content://contacts/people |
MediaStore | Archivos de audio, video e imagenes | content://media/internal/images |
Setting | Preferencias del sistema | content://settings/system/ringtone |
UserDictionary | Palabras definidas por el usuario para metodos predictivos | content://user_dictionary/words |
Telephony | Mensajes SMS y MMS enviados y recibidos | content://sms/inbox |
Calendar | Administrar eventos del calendario | content://com.android.calendar/time |
Document | Acceder a archivos en el dispositivo o en la nube | content://com.dominio.mio/dir/fich.txt |
- UserDictionary se implemento a partir de la version 1.5
- Telephony se implemento a partir de la version 1.5
- Calendar se implemento a partir de la version 4.0
- Document se implemento a partir de la version 4.4
En resume, los URI nos permiten acceder a distintas informaciones almacenadas en nuestro dispositivo, hemos visto su sintaxis basica, tambien que se puede utilizar varios al mismo tiempo, estas son una base para el ContentProvider (que lo veremos mas adelante), algunos ejemplos de clase para obtener determinados tipos de informacion y su URI de ejemplo para poder acceder, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar
Es para mantenimiento del sitio, gracias!
$1.50