Программирование на Android: с чего начать создавать простой браузер файлов?

Я хотел бы сделать файловый браузер, который будет делать две вещи: 1) Разрешить пользователю просматривать и выбирать каталог 2) Разрешить пользователю просматривать все файлы на своей SD-карте.

Я искал учебники, но, похоже, не нашел их? Может кто-нибудь, пожалуйста, помогите мне, объяснив, как мой код должен будет работать, чтобы иметь простой файловый браузер или предоставить мне ссылку на учебник/исходный код?

Пожалуйста, спасибо!

Ответ 1

Если вы на самом деле больше заинтересованы в том, чтобы научиться писать свои собственные, я бы посоветовал хорошо прочитать текст File класс. Это то, где вы собираетесь выполнять большую часть работы.

В случае SD-карт/другого внешнего хранилища для Android вам нужно сначала проверить, чтобы внешняя память была смонтирована и доступна, прежде чем пытаться ее прочитать, используя 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
}

Как только вы определили правильное состояние внешнего хранилища, простой способ начать - использовать метод File listFiles(), например:

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

Затем вы можете использовать FileFilters, чтобы сузить результаты:

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

Оттуда, просто прочитайте документы, чтобы найти тот тип вещи, который вы хотите с ним сделать, а затем вы можете работать с привязкой их к списку адаптеров и т.д.

Надеюсь, это поможет!

Ответ 2

Это поздний ответ, но я недавно работал над созданием обозревателя файлов Android. https://github.com/mburman/Android-File-Explore

Это очень просто. По сути это всего лишь один файл, который вам нужно будет интегрировать в ваше приложение.

Ответ 3

Посмотрите OI File Manager, который является файловым менеджером с открытым исходным кодом Android. Вы можете получить исходный код здесь.