0

我正在我的 android 应用程序中开发一个 sqlite 数据库。我需要它可以轻松增长,所以我需要在未来的升级中,我可以更改数据库等。

我想知道当我在sqlite创建方法中更改数据库版本时,它是否会创建一个数据库的新文件。如果是,那么在 onUpgrade 中我应该迁移所有数据,不是吗?

总之,onCreate 到底做了什么?它会创建数据库的新文件吗?还是它修改了实际的?

我问这个是因为我不希望 onCreate 创建一个新文件......我只想改变实际的数据库。

谢谢

4

2 回答 2

2

只有在第一次需要创建数据库时才会调用 OnCreate。

如果数据库已经存在并且版本号不匹配,则调用 OnUpgrade。您应该使用 OnUpgrade 将数据库从旧版本更改为新版本。

于 2011-11-25T15:48:49.950 回答
0

我假设您指的是 SQLiteOpenHelper 中的 OnCreate 方法。当您请求可写或可读数据库并且需要创建数据库时,它会被调用。我们不直接调用 oncreate 方法。因此,如果一个数据库已经存在并且我们请求一个可写或可读的数据库——不会创建新的数据库。

有关更多信息,请参阅这些链接

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

http://developer.android.com/resources/tutorials/notepad/index.html

于 2011-11-25T15:36:25.490 回答