Глобальные переменные в 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
}
Другие вопросы по тегам