web-dev-qa-db-fra.com

Android Programmation: par où commencer pour créer un navigateur de fichiers simple?

Je voudrais créer un navigateur de fichiers qui fera deux choses: 1) Autoriser l'utilisateur à parcourir et sélectionner un répertoire 2) Autoriser l'utilisateur à parcourir tous les fichiers sur sa carte SD

J'ai cherché des tutoriels mais je n'arrive pas à en trouver? Quelqu'un peut-il m'aider s'il vous plaît en expliquant comment mon code devrait faire pour avoir un simple navigateur de fichiers ou en me fournissant un lien vers un tutoriel/code source?

Merci et merci!

29
AlexPriceAP

Si vous êtes réellement plus intéressé à apprendre à écrire le vôtre, je vous suggère de lire attentivement la documentation de la classe File . C'est là que vous allez faire la plupart du travail.

Dans le cas des cartes SD/autre stockage externe pour Android, vous devez d'abord vérifier que le stockage externe est monté et disponible avant d'essayer de le lire, en utilisant la classe Environment :

String extState = Environment.getExternalStorageState();
//you may also want to add (...|| Environment.MEDIA_MOUNTED_READ_ONLY)
//if you are only interested in reading the filesystem
if(!extState.equals(Environment.MEDIA_MOUNTED)) {
    //handle error here
}
else {
    //do your file work here
}

Une fois que vous avez déterminé l'état approprié du stockage externe, un moyen simple de commencer est d'utiliser la méthode listFiles () de File, comme ceci:

//there is also getRootDirectory(), getDataDirectory(), etc. in the docs
File sd = Environment.getExternalStorageDirectory();
//This will return an array with all the Files (directories and files)
//in the external storage folder
File[] sdDirList = sd.listFiles();

Vous pouvez ensuite commencer à utiliser FileFilters pour affiner vos résultats:

FileFilter filterDirectoriesOnly = new FileFilter() {
    public boolean accept(File file) {
        return file.isDirectory();
    }
};
File[] sdDirectories = sd.listFiles(filterDirectoriesOnly);

À partir de là, lisez simplement les documents pour trouver le type de chose que vous cherchez à en faire, puis vous pouvez travailler à les lier dans des adaptateurs de liste, etc.

J'espère que cela t'aides!

30
kcoppock

C'est une réponse tardive mais j'ai travaillé sur la création d'un Android Explorateur de fichiers récemment. https://github.com/mburman/Android-File-Explore

C'est vraiment simple. Il s'agit essentiellement d'un seul fichier que vous devez intégrer à votre application.

20
Manish Burman

Jetez un oeil à OI File Manager , qui est un open-source Android gestionnaire de fichiers. Vous pouvez obtenir le code source ici .

8
Ryan Berger