我在努力理解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. 什么时候应该在ContentProvider使用的SQLiteOpenHelper上调用close()
- 2. 什么时候ConvertBack方法被调用?
- 3. 什么时候调用layoutSubviews方法?
- 4. 当调用SQLiteOpenHelper的onCreate方法时?
- 5. 不调用SQLiteOpenHelper onCreate方法
- 6. 什么时候调用setDataTimeout?
- 7. 什么时候调用webview.clearData
- 8. 什么时候调用robot.cleanUp()
- 9. 什么时候调用onSizeChanged()?
- 10. 什么时候使用initWithCoder:方法?
- 11. 你什么时候使用新方法?
- 12. 什么时候使用getX方法
- 13. 什么时候参数化方法调用有用?
- 14. Django中调用的formfield()方法是什么时候?
- 15. 什么时候调用MvcHandler.ProcessRequest方法以及由谁?
- 16. 什么时候iOS触及方法(取消和结束)调用?
- 17. JAVA:知道什么时候调用方法
- 18. 你什么时候在viewWillAppear,viewDidDisappear等中调用超级方法...?
- 19. 什么时候在spring中调用bean的destroy方法?
- 20. 什么时候是 - [UIView drawRect:]方法调用?
- 21. 什么时候应该调用connection.rollback()方法?
- 22. Android回调方法:什么时候?怎么样?从wheech Thread?
- 23. 为什么SQLiteOpenHelper不是只调用SQLiteHelper?
- 24. 什么时候使用hash()调用__eq__?
- 25. 什么时候应该调用SharedPreferencesBackupHelper()/ BackupAgent?
- 26. 什么时候应该调用setContentAspectRatio?
- 27. 什么时候可以调用BarcodeScanner.GetDefaultAsync()?
- 28. 什么时候TGraphicControl.Paint被调用?
- 29. 什么时候在Linq中调用OnValidate?
- 30. 什么时候应该调用Transaction.delistResource()?