Partage
  • Partager sur Facebook
  • Partager sur Twitter

création de dossier

Sujet résolu
    22 août 2019 à 17:39:18

    Salut,


    Comment on peut creer un dossier dans interne storage et externe storage et savoir le nom de fichiers dans mon dossier 



    Merci d'avance.



    • Partager sur Facebook
    • Partager sur Twitter
      23 août 2019 à 21:11:32

      Bonjour 

      Ajoute la permission suivante dans ton fichier Manifeste

       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

      La permission  " <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />" est une permission dangereuse sur Android, c'est à dire avant de pouvoir créer un dossier ou fichier sur le périphérique d'un utilisateur à partir de la version 6 d'Android, tu dois lui demander la permission.

      Pour demander facilement une permission sur Android à un utilisateur sans écrire trop de ligne de code,tu peux utiliser une librairie comme Dexter.Il existe  d'autres librairies pour demander facilement une permission à un utilisateur sur Android.Dexter est assez cool.Voici le lien de Dexter sur Github

      Ou tu peux directement insérer cette dépendance dans ton fichier gradle 

      implementation ('com.karumi:dexter:5.0.0')

      Puis synchronise ton projet.

      Maintenant des que l'utilisateur clique sur le bouton pour créer le fichier ou le dossier tu demande d'abord ta permission comme ça

      Dexter.withActivity(this)
                              .withPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
                              .withListener(new PermissionListener() {
                                  @Override
                                  public void onPermissionGranted(PermissionGrantedResponse response) {
      
                                      onCreateFile(nomDossier);
                                  }
      
                                  @Override
                                  public void onPermissionDenied(PermissionDeniedResponse response) {
      
                                  }
      
                                  @Override
                                  public void onPermissionRationaleShouldBeShown(PermissionRequest permission, PermissionToken token) {
      
                                  }
                              }).check();  

      Voici ta methode onCreateFile

      private File onCreateFile(nomDossier) {
              // Tu dois lancer une boite de dialogue au autre chose durant tout le traitement
              
              String path= Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+nomDossier+"/";
      
              File root = new File(path);
              if (!root.exists()) {
                  root.mkdirs();
              }
              String timeStamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
              timeStamp= "PNG_" + timeStamp + "_.png";
              File file=new File(path+timeStamp);
              if(file.exists()){
                  file.delete();
              }
              try{
                  if(file.createNewFile()){
                      FileOutputStream outputStream=new FileOutputStream(file);
                     //Tu fais tout ce que tu veux avec ton outputStream
                  }
      
              }
              catch(IOException e){
      
              }
      
      
              return file;
      
          }

      N'oubli pas dès que tu appelles la méthode onCreateFile , de lancer une boite de dialogue durant le traitement






      • Partager sur Facebook
      • Partager sur Twitter

      création de dossier

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown