AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de archivos externos
  • Presentación
  • Los diferentes tipos de almacén
  • Almacenamiento interno
  • Almacenamiento externo
  • Funciones WLanguage disponibles para la gestión de las diferentes áreas de almacenamiento
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
El sistema de archivos de los dispositivos que ejecutan Android está dividido en dos áreas principales de almacenamiento:
  • una zona "interna.
  • un área "externa" o "compartida.
En Android 11, las aplicaciones ya no pueden acceder a determinadas ubicaciones de almacenamiento. Para más detalles sobre los lugares de almacenamiento accesibles, consulte Android 11: Cambios en el comportamiento de las aplicaciones.
Los diferentes tipos de almacén

Almacenamiento interno

El área de almacenamiento interno se encuentra en la memoria no volátil y no extraíble del dispositivo (llamada memoria permanente).. Esta área de almacenamiento interno contiene principalmente los archivos de sistema del sistema operativo.
Las aplicaciones son instaladas en esta zona de almacenamiento por Default. Algunas aplicaciones pueden instalarse en el área de almacenamiento externo con algunas restricciones.
El área de almacenamiento interno siempre está disponible para una aplicación, incluso si el dispositivo está conectado por USB a un ordenador, por ejemplo..
Una aplicación puede crear, modificar o borrar archivos sólo en su propio directorio (que se encuentra en el área de almacenamiento interno).. Este directorio se crea automáticamente al instalar la aplicación. En la mayoría de los casos, se llama "/data/data/<Nombre del paquete completo>. Por ejemplo: /data/data/fr.pcsoft.myApplication. Los archivos encontrados en este directorio no pueden ser accedidos por las otras aplicaciones.
Al desinstalar la aplicación, el sistema borra automáticamente los archivos creados en este directorio y en sus subdirectorios.

Almacenamiento externo

El área de almacenamiento externo se puede encontrar:
  • en la memoria permanente del dispositivo,
  • y/o en la memoria móvil (tarjeta de almacenamiento SD Card).
Algunos dispositivos dividen su memoria permanente en dos particiones, la primera dedicada al almacenamiento interno y la otra al almacenamiento externo.. Por lo tanto, incluso los dispositivos sin ubicación para una tarjeta SDCard incluyen dos áreas de almacenamiento distintas.
Se pueden encontrar varias áreas de almacenamiento externo en el mismo dispositivo: por ejemplo, la primera corresponde a la partición "externa" de la memoria permanente mientras que la otra corresponde a la tarjeta SDCard. En este caso, se habla de almacén externo primario, almacén externo secundario, etc.. La elección de asignar el área de almacenamiento primario a tal o cual ubicación depende del fabricante.
El área de almacenamiento externo puede no ser accesible para una aplicación en un momento dado.. Este es el caso, por ejemplo, cuando la aplicación se conecta a el equipo en modo de almacenamiento masivo USB.
Una aplicación puede acceder en modo de lectura Y en modo de escritura a todos los archivos y directorios que se encuentran en la(s) zona(s) de almacenamiento externo(s) del dispositivo..
Cada aplicación puede tener su propio directorio en cada una de las áreas de almacenamiento externo del dispositivo..
  • En la mayoría de los casos, el nombre de este directorio tiene el siguiente formato : <almacenamiento externo raíz>/Android/data/<Nombre del paquete completo de la aplicación>. Por ejemplo: /mnt/sdcard/Android/data/fr.pcsoft.MyApplication.
  • Este directorio debe contener los archivos de aplicación privados que no tienen que ser compartidos con otras aplicaciones (aunque cualquier aplicación pueda acceder a ellos)..
  • Este directorio puede contener subdirectorios con nombres de sistema preestablecidos para almacenar diferentes tipos de archivos (música, películas, documentos, descargas, etc.).. Un uso adecuado de estos directorios preestablecidos permite un mejor soporte de estos archivos por parte del sistema.
  • Los ficheros encontrados en el directorio de la aplicación no son analizados automáticamente por el sistema (aunque esto se puede pedir explícitamente).. Por ejemplo, las fotos guardadas en este directorio no aparecerán en los álbumes de fotos del dispositivo.
  • Este directorio, así como los datos que se encuentran en él, se eliminarán automáticamente al desinstalar la aplicación.
Observación: A partir de Android 4.4 (KitKat), en el espacio de almacenamiento externo correspondiente a la memoria móvil (SDCard), las aplicaciones sólo pueden crear, modificar o eliminar archivos en su propio directorio. Los otros archivos del espacio de almacenamiento externo son accesibles en modo de sólo lectura.
Si una aplicación posee archivos públicos que deben ser compartidos con otras aplicaciones, le aconsejamos que los almacene fuera de su propio directorio.. En este caso, los archivos no se eliminarán al desinstalar la aplicación..
El espacio de almacenamiento primario del dispositivo puede contener directorios con nombres de sistema preestablecidos para almacenar diferentes tipos de archivos públicos (música, películas, documentos, descargas, etc.).. Un uso adecuado de estos directorios preestablecidos permite un mejor soporte de los archivos por parte del sistema.. En particular, estos directorios son escaneados regularmente por el sistema para ser listados y propuestos a la hora de seleccionar los medios, por ejemplo.
Permisos Permissions :
  • La Permission READ_EXTERNAL_STORAGE es necesaria para acceder a los archivos que se encuentran en el espacio de almacenamiento externo en modo de lectura. Este permiso es automatic en los dispositivos que ejecutan una versión de Android anterior a la versión 4.4.
  • La Permission WRITE_EXTERNAL_STORAGE es necesaria para acceder a los archivos que se encuentran en el espacio de almacenamiento externo en modo de escritura (creación, modificación, eliminación). Esta Permission concede implícitamente los derechos de lectura.
A partir de Android 4.4 (KitKat), estos permisos ya no son necesarios para acceder a los archivos que se encuentran en el directorio de la aplicación.
A partir de Android 10, las aplicaciones deben acceder únicamente a los archivos situados en sus propios directorios. Cualquier intento de acceder a archivos fuera de estos directorios (en modo de lectura o escritura) puede fallar. Se recomienda no utilizar las constantes ssePublicx (conSysDirExternalStorage, por ejemplo) para evitar errores.
Observación: Las aplicaciones que se ejecuten en Android 10 y se generen con WINDEV Mobile se ejecutarán como siempre (si se utiliza el parche 118661 o 250Update 4 de WINDEV Mobile).
Cuando la aplicación se utiliza en un dispositivo que ejecuta Android 11, aparecen nuevas restricciones:
  • las aplicaciones ya no pueden leer o escribir archivos en el almacenamiento externo fuera de:
    • directorios públicos como "Documentos", "Descargas", "Imágenes", etc..: utilizar SysDirExternalStorage con las constantes ssePublicXXX.
    • directorios específicos de la aplicación: utilizar SysDirExternalStorage con las constantes sseAppXXX.
  • en los directorios públicos, una aplicación sólo puede acceder (en modo de lectura o escritura) a los archivos que ha creado.
    Observación: si la aplicación se desinstala y se vuelve a instalar, ya no tendrá acceso a los archivos creados por la versión previamente instalada en los directorios públicos del almacenamiento externo.

Para obtener más información, consulte Android 11: Cambios en el comportamiento de las aplicaciones.
Funciones WLanguage disponibles para la gestión de las diferentes áreas de almacenamiento
Se pueden utilizar varias funciones de WLanguage para gestionar e identificar los diferentes espacios de almacenamiento:
fCacheDirDevuelve el ruta del directorio que se utilizará para almacenar los datos en caché en el espacio de almacenamiento interno de la aplicación..
fCurrentDirDevuelve el ruta del directorio que se utilizará para almacenar los ficheros privados de la aplicación en el área de almacenamiento interno..
Ejemplo: /data/data/fr.pcsoft.MyApplication/files
fDataDirDevuelve el ruta del directorio que se utilizará para almacenar los ficheros de base de datos de la aplicación en el área de almacenamiento interno..
Ejemplo: /data/data/fr.pcsoft.MyApplication/database
fExeDirDevuelve la raíz ruta del directorio de aplicación en el área de almacenamiento interno..
Ejemplo: /data/data/fr.pcsoft.MyApplication
SysCacheExternalStorageDevuelve el ruta del directorio que se utilizará para almacenar los datos en caché en el espacio de almacenamiento externo de la aplicación..
SysDirExternalStorageDevuelve la ruta del directorio que se utilizará para almacenar archivos en el espacio de almacenamiento externo del dispositivo Android.
SysDirStorageCardDevuelve el ruta del directorio raíz del espacio de almacenamiento externo primario..
Ejemplo: Tarjeta /mnt/sdcard
SysMemoryExternalStorageDevuelve la cantidad de memoria disponible en el área de almacenamiento externo del dispositivo.
SysNbExternalStorageDevuelve el número de espacios de almacenamiento externos encontrados en un dispositivo Android.
SysRemovableExternalStoragePermite saber si el espacio de almacenamiento externo corresponde a la memoria móvil (tarjeta SD).
SysSpaceDevuelve el espacio libre o el espacio total del espacio de almacenamiento externo primario.
SysStatusExternalStorageDevuelve el estado de disponibilidad del espacio de almacenamiento externo del dispositivo..
SysStatusStorageCardDevuelve el status de disponibilidad del espacio de almacenamiento externo primario.: disponible/sólo de lectura/no disponible.
Versión mínima requerida
  • Versión 21
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/12/2022

Señalar un error o enviar una sugerencia | Ayuda local