2012-02-01 12 views
0

我有一個難題,我不知道該怎麼稱呼來自其他活動..方法裝箱對象等。使用方法從其他活動中的Java(Android版)

但我有dbHelper.java與創建SQL處理小桌子等,並開始喜歡:

public class dbHelper extends SQLiteOpenHelper { 
. 
. 
. 
} 

它工作正常,但我有方法,有沒有檢查時,DB版的變化和重建數據庫表等。

,如:

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // pri zmene verzie DB dropne tabulku 
     Log.w("DATA", "Upgrading database from version " + oldVersion + " to " + newVersion); 
     db.execSQL("DROP TABLE IF EXISTS plan"); 
     db.execSQL("DROP TABLE IF EXISTS contacts"); 

     this.onCreate(db); 
} 

,但我需要存儲也分享喜好,我用它來告訴應用程序,其新的開始......但它的那種異樣的我嘗試:

SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_FILENAME,MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 
    editor.putString("FS", "1"); 
    editor.commit(); 

但MODE_PRIVATE得到強調的錯誤,甚至當我嘗試從其他活動創建對象的調用方法,例如:dataManager db = new dataManager(this);在哪裏存儲共享偏好的方法我仍然強調它是錯誤的...

任何想法可能是什麼問題?我在學習java,但仍然不知道: -/

弗拉德

+0

一個子類是什麼錯誤居然說裏面罰款? – 2012-02-01 19:53:33

回答

2

MODE_PRIVATE是在Context類中聲明的常數。只要改變MODE_PRIVATEContext.MODE_PRIVATE

這工作活動的方法,因」 ActivityContext

+0

好吧,它修改了MODE_PRIVATE,但現在是下劃線的getSharedPreferences,它想要創建方法getSharedPreferences(String,Int) – VladoPortos 2012-02-01 20:07:31

+0

我不明白,這個活動有什麼特別之處,我不能引用其他活動的其他方法,我有5個人在項目中,它在所有這些工作正常..只有區別這一個擴展SQLiteOpenHelper – VladoPortos 2012-02-01 20:19:20

+0

'getSharedPreferences'也是一個'Context'類的方法。您需要將'Context'實例(或其後代,例如您的'Activity')傳遞給您的代碼並在該實例上調用'getSharedPreferences'。 – Olegas 2012-02-01 20:19:51

相關問題