Android Programming: Where To Start For Creating A Simple File Browser?

后端 未结 3 2001
眼角桃花
眼角桃花 2020-11-29 18:26

I would like to make a file browser that will do two things: 1) Allow the user to browse and select a directory 2) Allow the user to browse all files on their sdcard

相关标签:
3条回答
  • 2020-11-29 18:54

    This is a late answer but I worked on creating an android file explorer recently. https://github.com/mburman/Android-File-Explore

    Its really straightforward. Essentially its just 1 file that you would need to integrate into your application.

    0 讨论(0)
  • 2020-11-29 18:57

    If you're actually more interested in learning to write your own, I'd suggest taking a good long read through the File class documentation. That's where you're going to be doing most of the work.

    In the case of SD cards/other external storage for Android, you'll want to first check to ensure that the external storage is mounted and available before trying to read it, using the Environment class:

    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
    }
    

    Once you've determined the proper state of the external storage, a simple way to start is to use File's listFiles() method, like so:

    //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();
    

    You can then start using FileFilters to narrow down your results:

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

    From there on, just read through the docs to find the type of thing you're looking to do with it, and then you can work on tying these into list adapters, etc.

    Hope this helps!

    0 讨论(0)
  • 2020-11-29 19:03

    Take a look at OI File Manager, which is an open-source Android file manager. You can get the source code here.

    0 讨论(0)
提交回复
热议问题