1

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

4

2 回答 2

2

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

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

于 2013-03-06T11:15:51.063 回答
1

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

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

于 2013-03-06T11:16:34.713 回答