Índice

Almacenamiento externo

1. Comprobar la disponibilidad del almacenamiento externo

Para evitar problemas con la memoria disponible, puede almacenar los archivos de una aplicación en la memoria externa del dispositivo.

Los tratamientos de lectura/escritura en un archivo deben realizarse en un Thread diferente al UI Thread.

Hay dos tipos de memoria externa:

  • Almacenamiento externo desmontable (tarjeta SD, por ejemplo).

  • Almacenamiento externo no desmontable (alojado en la memoria física del teléfono).

Los archivos creados en el almacenamiento externo se abren en modo lectura para el usuario y el resto de aplicaciones. Además, el usuario podrá eliminar estos archivos sin desinstalar la aplicación.

En un dispositivo Android, el usuario puede utilizar su memoria externa para almacenar sus canciones, fotos y vídeos. Por lo tanto, esta memoria es susceptible de no estar disponible (lectura/escritura) mientras se usa una aplicación. Por este motivo, es necesario comprobar la disponibilidad del almacenamiento externo antes de realizar cualquier tipo de petición de escritura o lectura. El método getExternalStorageState le permite comprobar dicha disponibilidad.

final String storageState = 
Environment.getExternalStorageState();  
 
if (storageState.equals(Environment.MEDIA_MOUNTED)) { 
   //Puede leer y escribir en el almacenamiento externo 
} else if 
(storageState.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) { 
   //Solamente puede leer del almacenamiento externo  ...