Android: сохранить аудиозапись локально?

1

Как можно сохранить файл на Android-телефоне, а не на SD-карте? Я знаю, что для sdcard, как вы это делаете, вызывается Environment.getExternalStorageDirectory(). GetAbsoluteDirectory(); или что-то в этом роде, я все равно работаю. Но я хочу, чтобы сохранить на свой телефон вместо этого, мне нужно разрешение в моем манифесте для этого? Я попытался заменить getexternalst.... на getDataDirectory, но это, похоже, не сработало.

Как всегда, пожалуйста и спасибо :)

EDIT---------------

03-15 21: 29: 26.213: W/dalvikvm (21686): threadid = 1: поток, выходящий с неперехваченным исключением (группа = 0x2aac8578) 03-15 21: 29: 26.213: E/AndroidRuntime (21686): FATAL EXCEPTION: main 03-15 21: 29: 26.213: E/AndroidRuntime (21686): java.lang.RuntimeException: не удалось создать экземпляр активности ComponentInfo {com.alphaphonefinder/com.alphaphonefinder.Main}: java.lang.NullPointerException

Теги:
audio
save
local
recording

2 ответа

0
Лучший ответ

Вы можете использовать Context#getFilesDir

Чтобы получить полный путь как String (предположим, что this Activity):

String path = this.getFilesDir().getAbsolutePath();
  • 0
    спасибо за помощь, но это сильно изменит мою программу, есть ли способ получить каталог в виде строки? на который потом будет указывать метод, если вы поймете, что я имею в виду?
  • 0
    Конечно, посмотрите на редактирование.
Показать ещё 5 комментариев
0

Самый простой способ - вызвать Context#openFileOutput(String, int) который берет String для имени файла и int, определяя этот режим, и возвращает FileOutputStream. Затем вызовите запись в FileOutputStream, передав ей массив байтов ваших данных. Обязательно закройте FOS, когда закончите.

edit: Если вам нужен только внутренний каталог файлов, попробуйте Context#getFilesDir который возвращает файл, а getPath() или getAbsolutePath() в файле вернет каталог как String.

  • 0
    спасибо за помощь, просто быстрый вопрос, прежде чем я попробую это, можно ли использовать только строковый метод, как способ, которым я получаю каталог для SD-карты, которую я имею: final String RECORDING_PATH = Environment.getExternalStorageDirectory (). getAbsoluteDirectory () ; есть что-нибудь подобное? просто сэкономит мне много времени на перекодировку и прочее
  • 0
    Смотрите мое редактирование выше.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню