Я в замешательстве по поводу android
external storage
: он доступен для чтения всем пользователям, но в то же время на нем можно сохранять личные файлы приложения? разве это не конфликт?
На этой странице представлены различные варианты хранения данных, доступные в Android:
1 - Внутреннее хранилище файлов: Храните личные файлы приложения в файловой системе устройства.
2 - Внешнее хранилище файлов: Храните файлы в общей внешней файловой системе. Это обычно для общих пользовательских файлов, таких как фотографии.
3 - Общие предпочтения: хранить личные примитивные данные в парах ключ-значение.
4 - Базы данных: хранить структурированные данные в частной базе данных.
За исключением некоторых типов файлов во внешнем хранилище, все эти параметры предназначены для личных данных приложений - данные не доступны для других приложений естественным образом.
Последняя строка указывает, что большинство файлов, сохраненных во всех этих параметрах, являются закрытыми для приложений, за исключением некоторых типов файлов во внешнем хранилище. Насколько я понимаю, исключение относится к файлам, сохраненным в каталогах, доступ к которым осуществляется через Environment.getExternalStoragePublicDirectory()
.
но опять-таки документ объявляет все файлы, совместно используемые на внешнем хранилище, как общедоступные:
Файлы, сохраненные во внешнем хранилище, доступны для чтения всем пользователям и могут быть изменены пользователем, если они позволяют USB-накопителю передавать файлы на компьютер.
затем снова упоминается, что приватные файлы приложения могут быть сохранены во внешнем хранилище:
Вы также можете сохранять файлы во внешнем хранилище в каталоге приложения, который удаляется системой, когда пользователь удаляет ваше приложение. Это может быть полезной альтернативой внутреннему хранилищу, если вам нужно больше места, но файлы здесь гарантированно не будут доступны, поскольку пользователь может извлечь SD-карту памяти. И файлы все еще читаемы во всем мире; они просто сохраняются в месте, недоступном для других приложений.
последний абзац немного объяснил, но если кто-то может уточнить, а также объяснить, как читаемые файлы могут быть частными?