Обмен предпочтениями между классами в Android - PullRequest
0 голосов
/ 02 мая 2011

Привет! Я разрабатываю приложение для Android, в котором, если пользователь открывает приложение в первый раз (только что установил), он получает условия и положения, если он принимает, что он получает экран регистрации, если он регистрируется, он получает экран входа в систему

однако, если пользователь выходит после экрана терминов, снова, если приложение запущено, он должен получить только экран регистрации, но не экран терминов

Мне нужны две глобальные логические переменные, к которым могут обращаться все классы вПриложение, которое я пробовал с помощью общих преференций, но не могу поделиться ими между классами. Пожалуйста, подскажите немного.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 02 мая 2011

Вы можете получить настройки, используя BaseContext:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

изнутри любого Activity / Service / Receiver в вашем проекте, и вы должны получить те же предпочтения: любые изменения, сделанные в одном классе, будут доступны для всех других классов.

0 голосов
/ 03 января 2017

Вы можете получить SharedPreferences в любом классе, передав контекст. Смотрите следующий пример.

Получить значение по умолчанию SharedPreferences SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences (getBaseContext ());

Получите SharedPreferences с пользовательским именем

SharedPreferences prefs = getApplicationContext (). GetSharedPreferences ("SharedPreferences_FileName", Context.MODE_PRIVATE);

0 голосов
/ 02 мая 2011

получение общего предпочтения:

int mode = Activity.Activity.MODE_APPEND

SharedPreferences sp = getSharedPreferences(MYPREFS,mode);

// Получить сохраненные значения.

termPref = sp.getString («термин», «»);

...