Сначала я хочу кратко описать свою ситуацию.Проблемы с вызовами getSharedPreferences(); из класса SQLiteOpenHelper
У меня есть два класса: один класс MainClass и один класс DataBaseHelper, который расширяет SQLiteOpenHelper.
Из моего MainClass Я вызываю метод в классе DataBaseHelper, чтобы открыть базу данных. Перед открытием базы данных я хочу проверить версию базы данных пользователей (это важно, как только я хочу обновить базу данных и вывести ее на рынок Android). Поэтому из класса DataBaseHelper я вызываю следующий метод, который находится в MainClass.
public int checkCurrentDbVersion(){
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
int dbUpgradeVar = settings.getInt("dbUpgradeVar", 1);
return dbUpgradeVar;
}
я вызываю метод checkCurrentDbVersion() из класса DataBaseHelper так:
MainClass currentDbVersion = new MainClass();
int oldDbVersion = currentDbVersion.checkCurrentDbVersion();
Как только отладчик запускает следующую строку, она останавливается.
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
Что я делаю неправильно? У меня нет конструктора. Может быть, это провал?
С наилучшими пожеланиями Johe
Спасибо, действительно оценили ваш вопрос/ответ. Я вызывал свои «getSharedPreferences» изнутри действия, которое уже имело контекст, но мне пришлось добавить «это». к началу (смешно). – Slobaum
рад, что я мог бы помочь. – j7nn7k