我在努力理解SQLiteOpenHelper
背後的想法。它有onCreate()
/onUpdate()
應該被覆蓋的方法,但我不明白什麼時候調用它們或什麼時候調用它們。第一次運行應用程序時,Android會調用這些方法(這在我的情況中不會發生),或者我應該手動調用它們?我諮詢了文檔,但找不到我的問題的答案。什麼時候調用SQLiteOpenHelper方法?
1
A
回答
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
被調用時,發現數據庫的版本號增加。
相關問題
- 1. 什麼時候ConvertBack方法被調用?
- 2. 什麼時候會調用getPlaceholderTemplateForComplication()方法?
- 3. 什麼時候調用layoutSubviews方法?
- 4. 什麼時候應該在ContentProvider使用的SQLiteOpenHelper上調用close()
- 5. 當調用SQLiteOpenHelper的onCreate方法時?
- 6. 不調用SQLiteOpenHelper onCreate方法
- 7. 什麼時候調用exit_mmap?
- 8. 什麼時候調用robot.cleanUp()
- 9. 什麼時候調用setDataTimeout?
- 10. 什麼時候調用scrollIntoView()
- 11. 什麼時候調用webview.clearData
- 12. 什麼時候調用Object.wait
- 13. 什麼時候調用onSizeChanged()?
- 14. 你什麼時候使用新方法?
- 15. 什麼時候使用initWithCoder:方法?
- 16. 什麼時候使用getX方法
- 17. Android SQLiteOpenHelper:爲什麼不調用onCreate()方法?
- 18. 什麼時候參數化方法調用有用?
- 19. 什麼時候應該在Silverlight中調用Focus方法
- 20. 什麼時候iOS觸及方法(取消和結束)調用?
- 21. Python XMLParser:什麼時候是data()方法調用
- 22. 什麼時候應該調用connection.rollback()方法?
- 23. 什麼時候調用quartz Scheduler JobListener.jobWasExecuted()方法?
- 24. 什麼時候在Shiro中調用doGetAuthorizationInfo方法?
- 25. 什麼時候從UIView子類調用setter方法
- 26. 什麼時候是 - [UIView drawRect:]方法調用?
- 27. 什麼時候調用MvcHandler.ProcessRequest方法以及由誰?
- 28. Django中調用的formfield()方法是什麼時候?
- 29. 什麼時候onRestart方法在Android中被調用?
- 30. JAVA:知道什麼時候調用方法