По мере перехода от 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(); // создали массив стринг с именами файлов
}
И дело в шляпе.
На этот случай есть функция 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(); // создали массив стринг с именами файлов
}
И дело в шляпе.
Комментариев нет:
Отправить комментарий