まず、自分の状況を簡単に説明したいと思います。
2つのクラスがあります。1つはMainClassクラスで、もう1つはSQLiteOpenHelperを拡張するDataBaseHelperクラスです。
MainClassから、DataBaseHelperクラスのメソッドを呼び出してデータベースを開きます。データベースを開く前に、ユーザーのデータベースのバージョンを確認したいと思います(これは、データベースを更新してAndroidマーケットにプッシュしたいときにすぐに重要になります)。したがって、DataBaseHelperクラスから、MainClassにある次のメソッドを呼び出します。
public int checkCurrentDbVersion(){
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
int dbUpgradeVar = settings.getInt("dbUpgradeVar", 1);
return dbUpgradeVar;
}
次のように、DataBaseHelperクラスからcheckCurrentDbVersion()メソッドを呼び出します。
MainClass currentDbVersion = new MainClass();
int oldDbVersion = currentDbVersion.checkCurrentDbVersion();
デバッガーが次の行を実行するとすぐに停止します。
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
私は何が間違っているのですか?コンストラクターが定義されていません。それは失敗でしょうか?
よろしくJohe