Je veux d'abord décrire brièvement ma situation.Problèmes appelant Android getSharedPreferences(); de la classe SQLiteOpenHelper
J'ai deux classes, une classe MainClass et une classe DataBaseHelper, qui étend SQLiteOpenHelper.
Depuis ma MainClass, j'appelle une méthode dans la classe DataBaseHelper pour ouvrir une base de données. Avant d'ouvrir la base de données je veux vérifier la version de base de données des utilisateurs (ceci est important dès que je veux mettre à jour la base de données et la pousser sur le marché Android). Donc, à partir de la classe DataBaseHelper, j'appelle la méthode suivante, qui est dans la MainClass.
public int checkCurrentDbVersion(){
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
int dbUpgradeVar = settings.getInt("dbUpgradeVar", 1);
return dbUpgradeVar;
}
J'appelle la méthode checkCurrentDbVersion() de la classe DataBaseHelper comme ceci:
MainClass currentDbVersion = new MainClass();
int oldDbVersion = currentDbVersion.checkCurrentDbVersion();
Dès que le débogueur exécute la ligne suivante, il arrête.
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
Qu'est-ce que je fais mal? Je n'ai aucun constructeur défini. Cela pourrait-il être l'échec?
Cordialement Johe
Merci, vraiment apprécié votre question/réponse. J'appelais mes «getSharedPreferences» à partir d'une activité qui avait déjà un contexte, mais je devais ajouter «this». au début (ridicule). – Slobaum
content d'avoir pu aider. – j7nn7k