2013-08-16 4 views
0

Je crée une application d'enregistrement audio. L'application est censée enregistrer les fichiers et les enregistrer dans le répertoire de stockage externe. Voilà comment je suis en train de le faire:L'application ne crée pas de nouveau répertoire

Déclarant quelques variables globales:

String externalStoragePath = Environment.getExternalStorageDirectory().getAbsolutePath(); 
String outputPath = externalStoragePath + "/Android/data/com.whizzappseasyvoicenotepad/no_name.mp3"; //output path for mp3 files 
File appDirectory = new File(externalStoragePath + "/Android/data/com.whizzappseasyvoicenotepad"); //this is the directory I want to create when app is started for the first time 

quelques bûches dans onCreate pour vérifier si externalStorage est bien et fonctionne comme il devrait être:

Log.i("TAG", "External storage directory: " + externalStoragePath); 
Log.i("TAG", "External storage state: " + Environment.getExternalStorageState()); 

Le journal indique que le stockage externe est complètement correct (stockage/émulé/0) et que l'état est monté.

Alors je tente de créer le répertoire si elle n'existe pas encore:

if (!appDirectory.exists()) 
    { 
     try { 
      appDirectory.createNewFile(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

Je sais que le stockage externe ne fonctionne pas comme il devrait si l'appareil est connecté à un PC par câble USB, Je retire l'appareil de l'USB et lance l'application, mais le dossier n'est pas créé comme il se doit. Rien n'arrive fondamentalement.

+0

utilisez appDirectory.mkdir() au lieu de appDirectory.createNewFile() et faites-le moi savoir. – TheFlash

Répondre

1

Vous devez utiliser mkdir() au lieu de CreateNewFile():

appDirectory.mkdir(); 

devez également définir l'autorisation dans votre AndroidManifest.xml:

android.permission.WRITE_EXTERNAL_STORAGE 
0

Incluez la permission android.permission.WRITE_EXTERNAL_STORAGE dans votre manifeste Android.

0

Voici un exemple de code à l'aide que je créé un répertoire:

File dir = new File(Environment.getExternalStorageDirectory() + "/myFoler"); 
     if(!(dir.exists() && dir.isDirectory())){ 
      dir.mkdir(); 
     } 

Et ne pas oublier la permission WRITE_EXTERNAL_STORAGE dans Manifest fichier

Questions connexes