@katavagner

Доступен ли Preferences из другого класса?

Разбираюсь с хранением данных в Android. Возникла проблема:

Константы и глобальные переменные
SharedPreferences sharePref;
static final String SAVED_ANSWER = "saved_answer";
static final int MAX_ANSWER = 5;


Код проверки счетчика:
sharePref = getPreferences(MODE_PRIVATE);
String savedText = sharePref.getString(Config.SAVED_ANSWER, "");
Log.d(TAG, "SAVED_ANSWER равно: " + savedText);
return savedText;


Код обнуления счетчика
sharePref = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor edit = sharePref.edit();
String savedText = sharePref.getString(Config.SAVED_ANSWER, "");
Log.d(TAG, "Сброс счетчика: он равен - " + savedText);
edit.putString(Config.SAVED_ANSWER, "0");
edit.apply();


Сохранение и проверка счетчика в одном классе, а обнуление в другом классе.

И вот лог:
D/MyLog﹕ Приложение запущено: День 01 Месяц 05 Год 2015 Время 04:30
D/MyLog﹕ SAVED_ANSWER равно: 5
D/MyLog﹕ Кол-во ответов равно: 5, поэтому мы делаем линк на темы
D/MyLog﹕ Сброс счетчика: он равен - 0
D/MyLog﹕ SAVED_ANSWER равно: 5
D/MyLog﹕ Кол-во ответов равно: 5, поэтому мы делаем линк на темы

Может я не корректно задал вопрос, скажите, я дополню.
  • Вопрос задан
  • 645 просмотров
Пригласить эксперта
Ответы на вопрос 1
semennovikov123
@semennovikov123
Backend Developer
Была такая же проблема. Классический SharedPreferences доступен только в своём активити. Но getDefaultSharedPreferences можно использовать во всём приложении. Подробнее можно почитать здесь:
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы