Не удается прочитать файлы из каталога - Android - PullRequest
1 голос
/ 13 января 2011

У меня есть каталог / sdcard / audio в проекте. Этот каталог содержит некоторые аудио (wav) файлы.
Вот что я пытаюсь сделать:
1. Читать из справочника.
2. Воспроизведение файлов WAV.

Код, который я написал для доступа к каталогу, выглядит следующим образом:

String path_to_media = "/sdcard/audio/";
File dirEffectFiles = new File(path_to_media);   //gets a handle to the directory of effect files.
Log.v(this.toString(), "Getting into path = " + path_to_media);
Log.v(this.toString(), "Some details about the directory: path = " + dirEffectFiles.getPath()
                + " Can read: " + dirEffectFiles.canRead() + " list:" + dirEffectFiles.list()
                + " absolute path:" + dirEffectFiles.getAbsolutePath() + " is absolute:" + dirEffectFiles.isAbsolute()); 

Вывод, который я получаю для вышеупомянутого:

01-13 16: 23: 34.941: некоторые подробности о каталог: путь = / SDCard / аудио Может читать: ложный список: нулевой абсолют путь: / sdcard / audio является абсолютным: true

У меня есть следующие вопросы:
1. Как я могу сделать указанную выше папку удобочитаемой? Установив dirEffectFiles.setReadable(true)?
2. Также обратите внимание, что path_to_media выше - это / sdcard / audio /. Когда это напечатано, последний "/" исчезает. Это нормальный эффект какого-то внутреннего анализа или я должен беспокоиться об этом ??

Любая помощь приветствуется,
Спасибо,
Sriram.

Ответы [ 2 ]

1 голос
/ 13 января 2011

Вы добавили правильное разрешение для AndroidManifest.xml?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Кроме того, разумно использовать метод среды, чтобы получить правильный путь SD-карты:

Environment.getExternalStorageDirectory()

Кроме того, что вы получаете от:

dirEffectFiles.exists()
0 голосов
/ 18 января 2011

/ sdcard / audio, о котором говорилось выше, был каталогом, созданным в каталоге проекта.Этот подход неверен.Каталог для эмуляции SDCard должен быть создан с использованием ADB (в командной строке (Windows)), например:

  1. adb shell mkdir /sdcard/audio - это создаст аудио / подкаталог в SDCard /
  2. adb push "complete path of file name to be pushed" /sdcard/audio/file-name
  3. Эта процедура повторяется для других волновых файлов.

Вот и все.Вы должны иметь возможность читать файлы из каталога mount / sdcard.
@thoredge: спасибо за вашу помощь.

...