我想使用單例模式來保存我的Android應用程序的數據庫和一些其他數據/方法。如何使用數據庫創建Android單例和自定義數據類?
我意識到有很多原因反對單身人士,但對於這種情況,我想使用它。
我已經分類了UIApplication,並在它內部創建了一個名爲MyAppData的數據類。
MyAppData需要有權訪問SQLite數據庫。
當我創建數據庫時,我需要傳遞一個上下文。我可以傳遞應用程序上下文,但它不會直接與MyAppData相關。
我不知道這個wlll是否會導致我的代碼出現問題。
所以我的想法是讓MyAppdata擴展android.content.ContextWrapper。我不認爲我應該擴展Activity,因爲它實際上不是一個活動,它是一個具有訪問數據庫方法的數據類。
我想知道如果我擴展ContextWrapper會有一些深層的代碼我錯過了會導致大問題(內存泄漏等)。
這可能不是這種理想的方法(和我已經考慮其他的選擇),但我的目標是:
中有一個的UIApplication單例類能夠封裝數據庫,並從任何很容易地檢索活動在我的應用程序。
在此先感謝您的建議/警告/建議。
我已經採用了類似的方法,但之後閱讀了這一個。 – 2010-07-18 21:38:21
我意識到這是一個古老的答案,但如果你仍然可以回憶;你在哪裏關閉從getDB()返回的SQLiteDatabase?每次使用後?或者當應用程序終止時是否有某種方式關閉它?我知道Application中有一個onTerminate方法,但顯然它不在生產設備上調用。 – toc777 2012-02-15 11:13:51