¿Qué sabe sobre la historia del almacenamiento de archivos en Android?
sobes.tech AI
Respuesta de la IA
La historia del almacenamiento de archivos en Android ha pasado por varias etapas clave, reflejando el esfuerzo por mejorar la seguridad, la privacidad y la facilidad de manejo de datos.
Inicialmente, en las primeras versiones de Android, el acceso al sistema de archivos era relativamente libre. Las aplicaciones podían leer y escribir archivos prácticamente en cualquier lugar del almacenamiento externo (tarjeta SD), usando los permisos WRITE_EXTERNAL_STORAGE y READ_EXTERNAL_STORAGE. Esto generaba problemas con la organización de datos, conflictos entre aplicaciones y seguridad, ya que una aplicación podía acceder a los datos de otra.
La situación empezó a cambiar con la introducción del concepto de sandbox para cada aplicación. Cada una recibió un espacio privado para almacenar sus datos (Context.getFilesDir(), Context.getCacheDir()), al cual otras aplicaciones no tenían acceso directo.
Con Android 4.4 (KitKat), se presentó el Storage Access Framework (SAF), una API para gestionar el acceso a documentos y otros archivos a través de una interfaz de usuario del sistema. Esto permitió a los usuarios seleccionar archivos y directorios a los que la aplicación podía acceder temporalmente, sin necesidad de otorgar permisos amplios READ_EXTERNAL_STORAGE.
Cambios significativos ocurrieron con Android 6.0 (Marshmallow) con la introducción de permisos en tiempo de ejecución. Los permisos para leer y escribir en el almacenamiento externo se solicitaron al usuario durante la ejecución de la aplicación, aumentando la transparencia y el control sobre el acceso a los datos.
Android 10 (Q) introdujo Scoped Storage, un almacenamiento aislado. Este fue el cambio más importante en años. En lugar de acceso amplio a todo el almacenamiento externo, las aplicaciones por defecto solo tienen acceso a:
- Sus propios directorios privados (
getExternalFilesDir()). - Colecciones compartidas de medios (fotos, videos, audio) mediante la API MediaStore.
- Otros archivos seleccionados por el usuario a través de SAF.
El acceso amplio al almacenamiento externo para ciertos tipos de archivos (por ejemplo, archivos de documentos) solo es posible mediante SAF. Para aplicaciones que necesitan acceso a todos los archivos (como gestores de archivos), se introdujo un nuevo permiso MANAGE_EXTERNAL_STORAGE, que requiere una revisión especial y no se concede a la mayoría de las aplicaciones.
Algunos puntos importantes:
- Almacenamiento interno: Siempre fue privado para cada aplicación.
- Almacenamiento externo: pasó de acceso libre a un almacenamiento estrictamente controlado y aislado para cada aplicación.
- MediaStore: es la forma preferida de trabajar con archivos multimedia en colecciones compartidas.
- SAF: proporciona una forma segura y conveniente para que el usuario otorgue acceso a archivos fuera de su espacio privado.
La evolución del sistema de almacenamiento refleja el esfuerzo de Google por aumentar la seguridad de los datos de los usuarios y simplificar la gestión de archivos para los desarrolladores.