Cómo crear el directorio de Android automáticamente si aún no existe
Estoy creando una aplicación de la galería usando un tutorial pero obtengo el siguiente error:
La ruta del directorio abc no es válida! Defina el nombre del directorio de imágenes AppConstant.java class
- ¿Cómo usar la nueva API de acceso a tarjetas SD de Lollipop en dispositivos que ejecutan KITKAT?
- ¿Cómo obtener acceso a todas las tarjetas SD, utilizando la nueva Lollipop API?
- ¿Por qué no puedo usar el atributo installLocation en el archivo Manifest?
- Directorio de almacenamiento de Android Open External Storage (sdcard) para almacenar el archivo
- Abra todas las imágenes de una carpeta (tarjeta SD) al mismo tiempo, haga clic en el botón
Por favor, visite el siguiente enlace para ver el código del tutorial completo mientras estoy usando el mismo código:
Android Fullscreen Image Slider with Swipe and Pinch Zoom Gestures
Encontré este código en Utils
Class:
Else {// el directorio de imágenes está vacío Toast.makeText (_context, AppConstant.PHOTO_ALBUM + "está vacío. ¡Cargue algunas imágenes en ella!", Toast.LENGTH_LONG) .show (); }
} else { AlertDialog.Builder alert = new AlertDialog.Builder(_context); alert.setTitle("Error!"); alert.setMessage(AppConstant.PHOTO_ALBUM + " directory path is not valid! Please set the image directory name AppConstant.java class"); alert.setPositiveButton("OK", null); alert.show(); } return filePaths;
¿Cómo puedo crear el directorio faltante mediante programación en lugar de mostrar este cuadro de diálogo de error?
- Compruebe si la tarjeta SD está presente, boolean siempre es cierto
- Android: Detectar cuando la tarjeta SD montada como unidad de disco a un equipo
- Tratando de copiar SQLite DB desde datos a tarjeta SD
- Cómo crear una miniatura de vídeo desde la ruta del archivo de vídeo en Android
- ¿Cómo calcula Android el caché y el tamaño de los datos?
- Cómo eliminar una imagen de la tarjeta SD
- ¿Cómo quitar el archivo que se guarda en la tarjeta SD del emulador?
- Restaurar archivo DB de SQLite
Hay tres cosas a considerar aquí:
No asuma que la tarjeta sd está montada en / sdcard (puede ser verdadera en el caso por defecto, pero mejor no en código duro). Puede obtener la ubicación de sdcard consultando el sistema:
Environment.getExternalStorageDirectory();
Tienes que informar a Android de que tu aplicación necesita escribir en el almacenamiento externo agregando una entrada de permisos de uso en el archivo AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Si este directorio ya existe, entonces mkdir va a devolver false. Compruebe la existencia del directorio y, a continuación, intente crearlo si no existe. En su componente, utilice algo como:
File folder = new File(Environment.getExternalStorageDirectory() + "/yourDirectoryName"); boolean success = true; if (!folder.exists()) { success = folder.mkdir(); } if (success) { // Do something on success } else { // Do something else on failure }
A continuación se muestra cómo crear directorios si no existen. Teniendo en cuenta que directory
es de hecho un directorio.
// If the parent dir doesn't exist, create it if (!directory.exists()) { if (parentDir.mkdirs()) { Log.d(TAG, "Successfully created the parent dir:" + parentDir.getName()); } else { Log.d(TAG, "Failed to create the parent dir:" + parentDir.getName()); } }
mkdirs()
también creará directorios padre faltantes (es decir, todos los directorios que llevan al directory
).
- ¿Cuál es el valor predeterminado para presionar un elemento de lista
- Enviar datos EXTRA a través del problema PendingIntent