У меня есть некоторая информация, хранящаяся как SharedPreferences. Мне нужно получить доступ к этой информации извне Activity (в классе модели предметной области). Поэтому я создал статический метод в Activity, который использую только для получения общих настроек.
Это вызывает у меня некоторые проблемы, поскольку очевидно, что невозможно вызвать метод getSharedPreferences из статического метода.
Вот сообщение, которое мне дает eclipse:
Cannot make a static reference to the non-static method
getSharedPreferences(String, int) from the type ContextWrapper
Я попытался обойти это, используя экземпляр Activity, например:
public static SharedPreferences getSharedPreferences () {
Activity act = new Activity();
return act.getSharedPreferences("FILE", 0);
}
Этот код дает исключение с нулевой точкой.
Есть ли обходной путь? Неужели я чувствую запах кода Android, пытаясь сделать это?
Заранее спасибо.