Я исследовал способы хранения глобальных настроек для моего приложения Android, и до сих пор кажется, что наилучшим способом является расширение класса Application и сохранение в нем общих данных, как описано здесь .Я обнаружил, что вместо использования (CustomApplicationClass)getApplicationContext().getSomething()
я могу сделать то же самое, ссылаясь непосредственно на статический метод внутри класса, например: CustomApplicationClass.getSomething()
, и оба способа работают просто отлично.
Вот фрагмент изCustomApplicationClass:
public class CustomApplicationClass extends Application {
private static boolean something;
@Override
public void onCreate() {
[...]
}
public static boolean isSomething() {
return something;
}
public static void setSomething(boolean something) {
this.something = something;
}
}
Теперь, если я хочу получить значение переменной "что-то" где-то в моем коде, скажем, из моего приложения Activity, есть ли разница между:
boolean var1 = ((CustomApplicationClass)getApplicationContext()).isSomething();
и
boolean var1 = CustomApplicationClass.isSomething();
?При запуске приложения оба работают нормально.Является ли второй способ безопасным для использования или нецелесообразным?