Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Использование общих настроек в каждом действии

Автор вопроса: L84Ответов: 1

Я хочу, чтобы настройки моего приложения были доступны в каждом действии. Я не хочу получать все SharedPreferences в каждом действии. но вместо этого получите SharedPreferences один раз и получите глобальный объект со значениями для всех этих предпочтений, например if (AppSettings.isSoundOn()) {// do stuff}, и этот объект будет доступен везде без всяких "если" и "но".

Я пытался использовать статические классы, но вы не можете получить общие настройки из статического класса. Также похоже, что класс, в котором вы получаете SharedPreferences, должен расширять Activity, иначе он выдает ошибку.

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

  • Расширьте класс Application. stackoverflow.com/questions/4051875/ Simon 08.09.2013

androidsharedpreferences

Ответы

Ответ 1 · рейтинг 2 · dumazy

Создайте класс, подобный MyApplication, и расширяйте его от android.app.Application. Там вы можете получить доступ к общим настройкам.

В каждом действии вы можете получить Application, используя MyApplication app = (MyApplication)this.getApplication();

В MyApplication поместите общедоступный метод, который получает Sharedpreference и тот, который его сохраняет.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы