Comments 16
А зачем может понадобиться путь к корню флешке вместо Environment.getExternalStorageDirectory()?
0
Сейчас это не очень актуально, но в теории, карты памяти больше, чем встроенная «внешняя» память. Поэтому потенциально большую базу лучше хранить на карте памяти. Я из таких соображений стал искать альтернативу.
В настоящее время у меня LG L65. У него заявлено 4 ГБ памяти, из них пользователю доступно всего 1,5. Ставим приложения, мелодии для звонка и т.п. и остается всего 200 Мб.
UPD: Viber, к примеру, все хранит во внешней памяти. Соответственно место постоянно уменьшается.
В настоящее время у меня LG L65. У него заявлено 4 ГБ памяти, из них пользователю доступно всего 1,5. Ставим приложения, мелодии для звонка и т.п. и остается всего 200 Мб.
UPD: Viber, к примеру, все хранит во внешней памяти. Соответственно место постоянно уменьшается.
+2
Я думаю вайбер хранит там только объемные медиа-файлы, а не всю переписку. Может быть именно для большого количества относительно больших файлов это и актуально, но точно не для «потенциально большой базы».
1) Насколько должна быть большая база чтобы getExternalStorageDirectory() не удовлетворяло полностью? (я надеюсь вы медиа-файлы в blob-ах не храните)
2) Если база действительно большая, то она хранит огромное количество записей. Я не думаю, что стоит светить эти записи всем пользователям (даже без рута).
1) Насколько должна быть большая база чтобы getExternalStorageDirectory() не удовлетворяло полностью? (я надеюсь вы медиа-файлы в blob-ах не храните)
2) Если база действительно большая, то она хранит огромное количество записей. Я не думаю, что стоит светить эти записи всем пользователям (даже без рута).
0
Ух, не знал о таком. Буду иметь в виду.
0
Я вот тоже не понимаю, но сколько было возмущенных пользователей которые кричали чтобы игра скачивала ресурсы именно на флешку, а не в Environment.getExternalStorageDirectory() — мы пока не сделали имели тысячи единиц в отзывах из-за этого. И кстати, все вышеописанные шаманства все равно не спасают и будут экзотические девайсы в которых определить верно не получится — поэтому еще и возможность руками ввести путь добавили.
0
Эм… Мне кажется или специально для этого есть Expansion File?
Не могу понять недовольство ваших пользователей. Вполне нормальная практика.
The specific location for your expansion files is:
<shared-storage>/Android/obb/<package-name>
<shared-storage> is the path to the shared storage space, available from getExternalStorageDirectory().
<package-name> is your application's Java-style package name, available from getPackageName().
Не могу понять недовольство ваших пользователей. Вполне нормальная практика.
0
Недовольство очень простое — внутренней памяти на дешевом телефоне допустим 4 гигабайта — и ее постоянно не хватает, а карточку можно поставить на 32 гигабайта.
obb не помогут — на тех девайсах на которых getExternalStorageDirectory указывает на внутреннюю память при наличии SD карточки, obb тоже будут качаться на внутреннюю память
obb не помогут — на тех девайсах на которых getExternalStorageDirectory указывает на внутреннюю память при наличии SD карточки, obb тоже будут качаться на внутреннюю память
+2
А на свежих андроидах обычное (не предустановленное) приложение может писать на SD карту?
0
/storage/sdcard0/
/storage/emulated/0/
У меня на Sony — внутренняя
/storage/emulated/0/
У меня на Sony — внутренняя
0
Перепробовал много вариантов, остановился на тупом переборе: getExternalSdCardPath
0
Например на моем аппарате в папке /mnt/ есть папка «sdcard» — она ссылается на внешнюю память. Карты памяти в /mnt/ не примонтировано. Мне кажется, это не самый лучший способ.
Замечательный и самый лучший, на мой взгляд, вариант был бы через карту «vold.fstab». Но увы, на последних версиях андройда (с 4.3) доступ к этому файлу без рута не получить. Да и называется он по-другому, и расположен в другом месте:
Источник: source.android.com
Замечательный и самый лучший, на мой взгляд, вариант был бы через карту «vold.fstab». Но увы, на последних версиях андройда (с 4.3) доступ к этому файлу без рута не получить. Да и называется он по-другому, и расположен в другом месте:
For Android 4.2.2 and earlier, the device-specific vold.fstab configuration file defines mappings from sysfs devices to filesystem mount points
For Android releases 4.3 and later, the various fstab files used by init, vold and recovery were unified in the /fstab.<device> file.
Источник: source.android.com
+1
Sign up to leave a comment.
Получение пути к карте памяти SD Card на Android