среда, 19 октября 2011 г.

Флешка, ты где?

По мере перехода от Hello к более серьезным вещам, вполне естественно возникает желание поработать с файлами на внешних носителях. Что нам советуют? Встречающаяся в примерах запись вида "new File("/sdcard/FileExample/")" конечно подкупает своим изяществом и простотой. Одно плохо - не работает. Вернее не всегда работает. Причина тут в том, что Андроидов много всяко-разных. Аппаратов, я имею в виду. И путь к флешке у Моторолы, скажем совсем не такой, как у Самсунга. Не говорю уж про HTC. Как это победить?

На этот случай есть функция  Environment.getExternalStorageDirectory();


File MySDCard = Environment.getExternalStorageDirectory();  // Получаем путь к флешке у данного конкретного девайса
File MyFolder = new File(MySDCard.toString() + "/foldername/"); // Путь к папке "foldername".



Соответственно, получить список файлов можно так:


File[] listOfFiles = MyFolder.listFiles(); // Массив файлов
final String[] strFiles = new String[listOfFiles.length]; // новый массив строк, размер - количество файлов в папке
for(int i=0; i<listOfFiles.length; i++) // цикл перебора файлов в папке
{
strFiles[i]=listOfFiles[i].getName().toString(); // создали массив стринг с именами файлов



И дело в шляпе.

Комментариев нет:

Отправить комментарий