2013-07-30 3 views
1

Я работаю для приложения, которое записывает звук. Записи хранятся на SD-карте с использованием корневого пути: Environment.getExternalStorageDirectory().getAbsolutePath();. Я предполагаю, что есть некоторые устройства без SD-карты (съемные или нет), только с внутренней памятью. Как я могу продолжить работу с этими телефонами для хранения записи? Также у меня есть файловый проводник для того, чтобы пользователь мог выбрать нужное место для записей.Хранение файлов на SD-карте/внутреннем хранилище

Если присутствие sdcard отсутствует (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);), я должен просто сообщить пользователю, что у него нет места для записи, или просто для записи на внутреннем хранилище?

+1

Повесьте диалог и позволить пользователю решить, если он/она хочет использовать внутреннюю память (показать ему/ей, сколько осталось и сколько вам требуется). – g00dy

+0

Поэтому я могу создать папку с файлами на внутренней памяти. Чем я должен следовать вашему предложению –

+0

Но как получить «корень» внутреннего хранилища? Эквивалент для среды Environment.getExternalStorageDirectory(). GetAbsolutePath()? –

ответ

0

После обсуждения с комментариями ниже вопрос:

Повесьте диалог и позволить пользователю решить, если он/она хочет использовать внутреннюю память (показать ему/ей, сколько осталось и сколько вам требуется). Прежде чем что-либо делать, позвольте пользователю решить каждый шаг. Если вы уже записываете файлы, вы можете попросить пользователя выбрать их удалить или нет. Это просто естественный способ добиться этого, не думая об упрощении жизни пользователя.

Наконец, из here:

context.getFilesDir(); //to get folder 
getApplicationContext(); //and the context is retrieved by calling this 
1

Прочитано this.

Также, на мой взгляд, у вас есть настройка для выбора хранилища, а затем сообщите об этом пользователю, если пустое место осталось, но сделайте так, чтобы записанный звук не потерялся (например, вы записали первое слово ребенка, а затем вы потеряли запись из-за отсутствия места), или вы можете задать вопрос на них, где сохранить, но для удобства использования вы должны иметь место по умолчанию, поэтому вам не нужно просматривать каталоги после каждого запись.

Смежные вопросы