首先我想简单描述一下我的情况。
我有两个类,一个 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;
}
我从 DataBaseHelper 类中调用 checkCurrentDbVersion() 方法,如下所示:
MainClass currentDbVersion = new MainClass();
int oldDbVersion = currentDbVersion.checkCurrentDbVersion();
一旦调试器运行以下行,它就会停止。
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
我究竟做错了什么?我没有定义构造函数。会不会是失败?
最好的问候乔赫