Если вы хотите, чтобы они сохранялись, когда приложение полностью закрыто, SharedPreferences
- это то, что вы ищете. Это хранилище ключ / значение , которое позволяет хранить данные, которые сохраняются даже после уничтожения активности. По сути, они состоят из двух частей:
- Ключ - это уникальный идентификатор, используемый для доступа к данным
- Значение - это фактические данные, которые вы пытаетесь сохранить
Итак, сначала вы получите ссылку на ваши общие настройки, используя
SharedPreferences.Editor editor = getSharedPreferences(
MY_PREFS_NAME, MODE_PRIVATE).edit();
Это MY_PREFS_NAME
может быть любой строкой, которая вам нравится. Это позволяет вам получить доступ к вашей «части» общих предпочтений. Как только вы получите эту ссылку, теперь вы можете начать читать и писать в них.
Чтобы написать:
editor.putInt("scoreViewA", 5);
editor.putInt("scoreViewB", 12);
editor.apply();
И позже, чтобы прочитать:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
int scoreViewA = prefs.getInt("scoreViewA", 0);
int scoreViewB = prefs.getInt("scoreViewB", 0);
Эта секунда параметр в getInt
- это значение по умолчанию, которое будет использоваться, если данный ключ не найден. Обратите внимание, что еще раз вы должны использовать тот же MY_PREFS_NAME
при получении ссылки на общие настройки.
Наконец, обратите внимание, что при записи в общие настройки мы вызываем edit()
перед записью любых изменений, и мы вызываем apply()
после этого.
Вы захотите поместить свой код для записи в общие настройки в вашем методе onPause
. Это срабатывает, когда активность больше не находится на переднем плане. Затем прочтите по методу onResume
. Этот метод срабатывает, когда приложение восстанавливает фокус на переднем плане.
@Override
public void onPause() {
super.onPause();
// write to shared preferences
}
@Override
public void onResume() {
super.onResume();
// read from shared preferences
}
И если вы просто пытаетесь передать переменную из одного действия другому, вы можете использовать пакет. Посмотрите этот ответ , чтобы получить хороший пример.
Надеюсь, что это поможет, добро пожаловать в Stackoverflow!