Я строю проект андроида, содержащий SharedPreferences
.SharedPreferences создает силу в программе android
Мой SharedPreferences
работает отлично, и я проверил его в режиме mutiple. но в классе, который я определил для глобальных переменных, определяя, что SharedPreferences
вызовет силовое замыкание (eclipse не обнаруживает ошибок в кодах).
public class Globals extends Application {
final SharedPreferences s = getSharedPreferences("Prefs", MODE_PRIVATE);
}
В чем проблема?
SharedPreferences может быть получен только из контекста. Таким образом, это должно быть 'context.getSharedPreferences (" Prefs ", Context.MODE_PRIVATE);' Ваши члены ничего не знают об Context - это проблема. Вам необходимо передать переменную Context в качестве параметра в методе или через конструктор. – Sajmon
Я его обманул: final SharedPreferences s = this.getSharedPreferences («Prefs», MODE_PRIVATE); но все же усиливает силу. – user3077909
Вы не можете использовать это, потому что вы не находитесь в Activity (действия выходят из контекста по этой причине, вы можете использовать это или нет). Вам нужно явно передать Контекст как параметр, метод или конструктор. Нет другого способа, как это сделать. – Sajmon