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

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?

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 ).

  • Java.Lang.RuntimeException, setParameters falló en la versión de android (4.1.1)
  • Android: ¿Cómo abrir una carpeta específica a través de Intent y mostrar su contenido en un navegador de archivos?
  • Android: guarda imágenes en una carpeta específica
  • Instalar tarjeta SD Vs memoria del teléfono? Y por qué el tamaño de la aplicación es diferente?
  • No se puede crear Dir de archivos externos en Android. WRITE_EXTERNAL_STORAGE está presente
  • Quiero configurar una imagen guardada en una tarjeta SD en el fondo de la presentación principal a través de mi aplicación
  • Error de escritura de archivo de texto en la tarjeta SD
  • Error que abre el archivo del rastro: Ningún archivo o directorio (2)
  • Cambio de ruta de la tarjeta SD en Android Studio AVD Manager
  • ¿Cómo eliminar una imagen en miniatura mediante programación de galera después de eliminar una imagen?
  • Cuando una aplicación se mueve forzadamente a SD-Card, ¿dónde van SharedPreferences?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.