Программирование на Android: с чего начать создание простого обозревателя файлов? - PullRequest
29 голосов
/ 05 ноября 2010

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

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

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

Ответы [ 3 ]

30 голосов
/ 05 ноября 2010

Если вы на самом деле больше заинтересованы в том, чтобы научиться писать свои собственные, я бы посоветовал внимательно прочитать документацию класса 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
}

После того, как вы определили правильное состояние внешнего хранилища, простой способ начать - это использовать метод 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);

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

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

20 голосов
/ 20 июля 2011

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

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

8 голосов
/ 05 ноября 2010

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

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