2013-03-06 132 views
1

我在努力理解SQLiteOpenHelper背後的想法。它有onCreate()/onUpdate()應該被覆蓋的方法,但我不明白什麼時候調用它們或什麼時候調用它們。第一次運行應用程序時,Android會調用這些方法(這在我的情況中不會發生),或者我應該手動調用它們?我諮詢了文檔,但找不到我的問題的答案。什麼時候調用SQLiteOpenHelper方法?

回答

1

當您請求可讀和/或可寫數據庫時(如果未創建),框架將調用'onCreate'等重寫方法。如果您開發應用程序並更改數據庫版本,那麼'onUpgrade'非常有用,這就是它所稱的部分。該框架將佔據最大的部分。你會從數據源類中調用這些方法。 對於更詳細的解釋:http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

而一個偉大的教程: http://www.vogella.com/articles/AndroidSQLite/article.html

2

它們在創建延伸SQLiteOpenHelper類和請求讀取/寫入的類的對象時自動調用。

從技術上講,onCreate方法在檢測到數據庫文件不可用時調用。它只被調用一次,除非您清理應用程序數據。但是onUpdate被調用時,發現數據庫的版本號增加。

相關問題