Доступ к SharedPreferences с помощью статических методов

У меня есть некоторая информация, хранящаяся как 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, пытаясь сделать это?

Заранее спасибо.

31
задан MyNameIsZero 27 September 2010 в 17:03
поделиться