Задать вопрос
@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, поэтому мы делаем линк на темы

Может я не корректно задал вопрос, скажите, я дополню.
  • Вопрос задан
  • 648 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
semennovikov123
@semennovikov123
Backend Developer
Была такая же проблема. Классический SharedPreferences доступен только в своём активити. Но getDefaultSharedPreferences можно использовать во всём приложении. Подробнее можно почитать здесь:
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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