Доступ к хранилищу в Nook

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

Я бы очень, очень, очень хотел бы получить грамотное объяснение того, какие пути отображаются в каком хранилище здесь, видя, как мы должны жестко их кодировать и как точно мы должны получить к ним доступ. Фактический пример кода будет превосходным. Моя лучшая догадка от возни с этим:

/ sdcard-> отображается на внутренний слот eMMC, и доступ к нему ограничен. Environment.getExternalStorageDirectory (); ... все еще возвращает это./ media -> сопоставляет внутреннюю память 8 ГБ (я могу написать в это)/ данные ->?? -> карты на дополнительную карту microSD

Как мы можем получить доступ к внешней (необязательной, дополнительной, той, которую вы можете выдвинуть) SDCard, если/ SDCard сопоставляет ограниченное хранилище вместо?

Теперь процитируем документы разработчика Nook:

Предыстория Сегодня на рынке представлены две разные схемы разделов для цветных устройств NOOK: одна для приложений в разделе / data имеет только 250 МБ, а другая - для раздела / data для 4 ГБ. В результате крайне важно, чтобы приложения разрабатывались и разрабатывались таким образом, чтобы эффективно управлять пространством. Заявки, которые этого не делают, не будут приняты для распространения через Магазин.

Техническая рекомендация или решение, относящиеся к области, если вашему приложению требуется большой объем данных (включая, помимо прочего, изображения, аудио или видео), вы должны загрузить эти ресурсы во время выполнения и сохранить их в большем разделе устройства. Если ваше приложение будет запрашивать и хранить более 100 МБ данных или ресурсов, вы ДОЛЖНЫ соблюдать следующие ограничения:

Ваша заявка должна четко и недвусмысленно указывать в описании при условии, что приложение использует / доставляет большой объем данных. Вы ДОЛЖНЫ записать свои ресурсы и данные в соответствующий раздел. Вы можете определить, имеет ли устройство увеличенный раздел / раздел данных, следующим образом:

StatFs stat = new StatFs("/data"); 
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount(); 
long megAvailable = bytesAvailable / 1048576; 
if (megAvailable > 1000){   
... write your resources in /data
} else {  
... write your resources on /mnt/media ... 
} 

Для записи данных в личное пространство вашего приложения в / data

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE); 

Ваше приложение не должно предполагать наличие SD-карты на устройстве, но вы можете проверить ее с помощью вызова

Environment.getExternalStorageState (); Если SD-карта не найдена, ваше приложение ДОЛЖНО завершиться корректно с уведомлением пользователя о причине выхода.

Помните, что для доступа к разделу / media, а также к ExternalStorage вам необходимо объявить в своем манифесте:

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

Ответы на вопрос(2)

Ваш ответ на вопрос