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

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

I’ve looked for tutorials but can’t seem to find any?
Can someone please help me by either explaining how what my code would need to do in order to have a simple file browser or providing me with a link to a tutorial/source code?

  • @Android display /res/viewable in WebView
  • Slowing speed of Viewpager controller in android
  • A way to get unlock event in android?
  • Eclipse Indigo Android ADT - install OK, no “Android” option in Preferences and New Project
  • CollapsingToolBarLayout - status bar scrim color dosent change
  • Android Bluetooth file sending
  • Please and thanks!

    Related posts:

    Access accelerometer via Javascript in Android?
    How to detect overscroll in Android ListView?
    How to smoothly animate height in CSS or Javascript on mobile devices
    How to display image from URL on Android
    Android Studio Google-play-services library
    How to set a dialog themed activity width to screen width?
  • Adding header to all request with Retrofit 2
  • Android 4.4 KitKat random crash (Native crash at /system/lib/
  • Android Studio 2.2 and Jack are getting blocked by Avira Antivirus
  • Why does OnClickListener on a ViewHolder don't work?
  • ListView selection remains persistent after exiting choice mode
  • What's the Android ADB shell “dumpsys” tool and what are its benefits?
  • 3 Solutions collect form web for “Android Programming: Where To Start For Creating A Simple File Browser?”

    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!

    This is a late answer but I worked on creating an android file explorer recently.

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

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

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.