Можно ли использовать общие настройки?
Из одного имени, я предполагаю, что Общие настройки... распространены среди приложений?
То есть, даже если мое приложение определяет и создает их, любое приложение на Android может получить к ним доступ. Правильно ли это?
(Если это неверно, то почему в документе Data Storage Dev Guide подчеркивается Внутреннее хранилище как "Хранить личные данные"?)
Если это правильно, могу ли я изменить это поведение по умолчанию, чтобы предпочтение было видно только из приложения, в котором я его определяю и создаю?
Если да, как это сделать?
Ответы
Ответ 1
Если я прав, вы можете сделать его закрытым, вызвав
getSharedPreferences(yourfile, MODE_PRIVATE);
public static final int MODE_PRIVATE
С: API уровня 1
Режим создания файла: режим по умолчанию, в котором доступ к созданному файлу может быть доступен только вызывающему приложению (или всем приложениям, использующим один и тот же идентификатор пользователя).
См. также:
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE
Constant Value: 0 (0x00000000)
Ответ 2
SharedPreferences
являются закрытыми по умолчанию. Они распределены между компонентами вашего приложения.
Ответ 3
В getSharedPreferences в классе Context принимают два аргумента: String name и int. Режим определяет, являются ли общие настройки приватными или нет.
Context.getSharedPreferences