2013-03-06 130 views
1

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

回答

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被调用时,发现数据库的版本号增加。

相关问题