SAF: framework para el acceso a almacenes de documentos
- 1.Qué es un Content Provider y su ciclo de vida
- 2.Contacts Provider: acceso al repositorio de datos de contacto
- 3.Proyecto Android con Content Providers (I)
- 4.Proyecto Android con Content Providers (II)
- 5.SAF: framework para el acceso a almacenes de documentos
- 6.Videotutorial: Proyecto Android con Content Providers
Siguiendo con nuestras publicaciones sobre los Content Provider, vamos a presentar brevemente el nuevo sistema SAF (Storage Access Framework ó ‘Marco de Trabajo de Acceso a Almacenamiento’), disponible desde Android 4.4. SAF nos facilita el acceso a ficheros, permitiéndonos abrir y manejar documentos, imágenes, videos y otros archivos, alojados en proveedores de almacenamiento de documentos.
Este estándar es compatible tanto con servicios locales como en la nube, con sólo implementar un DocumentsProvider, encargado de encapsular los servicios asociados.
El sistema SAF o framework de acceso a almacenamiento, estaría formado por los siguientes elementos:
- Document provider: Un proveedor de documentos se implementará simplemente con la subclase DocumentsProvider. Android proporciona varios proveedores de documentos tales como Descargas, Imágenes y Vídeos.
- Client app: Una aplicación cliente podrá acceder a un proveedor de documentos mediante la invocación de los intents
ACTION_OPEN_DOCUMENTy/oACTION_CREATE_DOCUMENT - Picker (selector): Permite al usuario acceder a todos los proveedores de documentos que cumplan con los criterios de búsqueda.
Principales características del sistema SAF:
- Permite a los usuarios navegar por el contenido de todos los proveedores de documentos.
- Proporciona un acceso constante de la aplicación a los documentos de un proveedor.
- Soporta varias cuentas de usuario, además de permitir el acceso a un proveedor de almacenamiento proporcionado por una unidad USB.
Vemos en la siguiente imagen la estructura jerárquica de datos dentro de un Document Provider:
En la siguiente imagen, se puede apreciar como usando el sistema SAF, una aplicación destinada al uso de fotos puede acceder a los datos almacenados:

Créditos: las imágenes de esta publicación provienen de la documentación oficial Android sobre SAF publicada con licencia Creative Commons Attribution 2.5

