внешнее хранилище: доступное для чтения и личное? - PullRequest
0 голосов
/ 09 сентября 2018

Я в замешательстве по поводу android external storage: он доступен для чтения всем пользователям, но в то же время на нем можно сохранять личные файлы приложения? разве это не конфликт?

На этой странице представлены различные варианты хранения данных, доступные в Android: 1 - Внутреннее хранилище файлов: Храните личные файлы приложения в файловой системе устройства. 2 - Внешнее хранилище файлов: Храните файлы в общей внешней файловой системе. Это обычно для общих пользовательских файлов, таких как фотографии. 3 - Общие предпочтения: хранить личные примитивные данные в парах ключ-значение. 4 - Базы данных: хранить структурированные данные в частной базе данных.
За исключением некоторых типов файлов во внешнем хранилище, все эти параметры предназначены для личных данных приложений - данные не доступны для других приложений естественным образом.

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

но опять-таки документ объявляет все файлы, совместно используемые на внешнем хранилище, как общедоступные:

Файлы, сохраненные во внешнем хранилище, доступны для чтения всем пользователям и могут быть изменены пользователем, если они позволяют USB-накопителю передавать файлы на компьютер.

затем снова упоминается, что приватные файлы приложения могут быть сохранены во внешнем хранилище:

Вы также можете сохранять файлы во внешнем хранилище в каталоге приложения, который удаляется системой, когда пользователь удаляет ваше приложение. Это может быть полезной альтернативой внутреннему хранилищу, если вам нужно больше места, но файлы здесь гарантированно не будут доступны, поскольку пользователь может извлечь SD-карту памяти. И файлы все еще читаемы во всем мире; они просто сохраняются в месте, недоступном для других приложений.

последний абзац немного объяснил, но если кто-то может уточнить, а также объяснить, как читаемые файлы могут быть частными?

1 Ответ

0 голосов
/ 09 сентября 2018

Файлы, сохраненные во внешнем хранилище, доступны для чтения всем пользователям и могут быть изменены пользователем, когда они позволяют USB-накопителю передавать файлы на компьютер.

Например: есть папка XYZ, доступ к ней может получить любой пользователь, любое приложение ...

Вы также можете сохранять файлы во внешнем хранилище в каталоге приложения , который система удаляет при удалении пользователем приложения.

Здесь файл, специфичный для вашего приложения, который может храниться в определенных каталогах, например ExternalCacheDirs (Android / data / com.package.name)

Эти файлы не доступны для других приложений ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...