首先,我想簡要描述一下我的情況。調用Android的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;
}
我請從DataBaseHelper類checkCurrentDbVersion()方法,如下所示:
MainClass currentDbVersion = new MainClass();
int oldDbVersion = currentDbVersion.checkCurrentDbVersion();
只要調試運行下面的行,它停止。
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
我在做什麼錯?我沒有定義構造函數。那可能是失敗嗎?
問候 Johe
謝謝,非常感謝你的問題/答案。我在一個已經有上下文的活動中調用了我的「getSharedPreferences」,但我必須添加「this」。到開始(荒謬)。 – Slobaum 2010-08-31 16:32:10
很高興我能幫上忙。 – j7nn7k 2010-09-02 11:42:14