web-dev-qa-db-fra.com

Simple Android Sélecteur de répertoire - Comment?

Je viens de commencer à coder dans Android Studio et je me sens génial .. !!

Comment puis-je écrire un code pour un "sélecteur de répertoire". c'est-à-dire, lorsqu'un bouton est cliqué, un simple écran Dialogue/Activité qui peut afficher la liste des répertoires.

Vous souhaitez également stocker tous les fichiers de ce répertoire dans une variable de tableau. (Une fois le bouton OK cliqué).

PS: J'ai recherché ici et trouvé un "File choose" sympa mais je cherche Directory Chooser ..!

Merci d'avance.

19
Android_Noob

Essayez d'utiliser Intent.ACTION_OPEN_DOCUMENT_TREE

Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
i.addCategory(Intent.CATEGORY_DEFAULT);
startActivityForResult(Intent.createChooser(i, "Choose directory"), 9999);

Et obtenir le résultat Uri de onActivityResult data.getData ()

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch(requestCode) {
        case 9999:
            Log.i("Test", "Result URI " + data.getData());
            break;
    }
}
30
Milton

Vous pouvez également utiliser certaines bibliothèques.
par exemple:
https://github.com/passy/Android-DirectoryChooser

4
Dima

Il y a une bibliothèque open source qui fait un sélecteur de répertoire et ouvre/enregistre également des activités de fichiers. Il peut être trouvé sur GitHub à https://github.com/BoardiesITSolutions/FileDirectoryPicker .

Fonctionne sur Android API niveau 17 et supérieur

Avertissement: je l'ai écrit

1
Boardy

Depuis Android 10 (API 29), l'accès direct au stockage externe est déconseillé au profit du cadre d'accès au stockage https://developer.Android.com/guide/topics/providers/fournisseur de documents

0
kreker