我在努力理解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:知道什么时候调用方法