Глобальные переменные в Android
Можно ли определить в Android переменные, которые используются для нескольких видов деятельности? Я пытался использовать классы "специального назначения", но я искал лучшую практику.
Я уже искал похожие вопросы, но не нашел точного ответа на этот вопрос.
3 ответа
Если вы хотите отправить переменную от 1 действия к следующему, поместите ее в Intent. Если у вас действительно есть данные, которые должны быть разделены между всеми действиями (например, информация для входа в систему или ключевые структуры данных, используемые большинством / всеми действиями), то вам следует использовать шаблон с единичными данными.
В Android уже есть синглтон по умолчанию... это класс Application. Вы расширите этот класс и добавите в него некоторые глобальные переменные, стараясь не ослаблять статичность темы и использовать только экономно
Если данные, которые вы планируете разделить между всеми действиями, представляют собой небольшие пары ключ-значение, вы можете сохранить их в DefaultSharedPreferences:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.getBoolean(C.PREF_BACKGROUND_UPDATE_ENABLE, false)) {
// do smth useful
}