什么时候调用SQLiteOpenHelper方法?

时间:2013-03-06 11:10:24

标签: android android-sqlite sqliteopenhelper

我努力理解SQLiteOpenHelper背后的想法。它有onCreate() / onUpdate()方法,应该被覆盖,但我不明白是什么调用它们或何时调用它们。 Android会在第一次运行应用程序时调用这些方法(在我的情况下不会发生这种情况),或者我应该手动调用它们?我查阅了文档,但无法找到问题的答案。

2 个答案:

答案 0 :(得分:2)

当您创建扩展SQLiteOpenHelper类并请求读/写的类对象时,会自动调用它们。

从技术上讲,当检测到数据库文件尚不可用时,会调用onCreate方法。除非您清理应用程序数据,否则只调用一次。但是,如果发现数据库的版本号增加,则会调用onUpdate

答案 1 :(得分:1)

当您请求可读和/或可写的数据库(如果未创建数据库)时,框架会调用“onCreate”等重写方法。如果您开发应用程序并更改数据库版本,那么'onUpgrade'非常有用,它就是调用它的部分。该框架将占据最大的部分。您将从数据源类中调用方法。 有关更长的解释:http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

一个很棒的教程: http://www.vogella.com/articles/AndroidSQLite/article.html