我正在我的android应用程序中开发一个sqlite数据库。我需要它可以很容易地增长,所以我需要在未来的升级,我可以改变数据库等。
我想知道当我在sqlite创建方法中更改数据库版本时,它是否会创建数据库的新文件。如果是这样,那么在onUpgrade中我应该迁移所有的数据,不是吗?
总而言之,onCreate到底做了什么?它会创建数据库的新文件吗?还是修改了实际的那个?
我之所以这样问,是因为我不希望onCreate创建一个新文件……我只想改变实际的数据库。
谢谢
发布于 2011-11-25 23:48:50
只有在需要首次创建数据库时,才会调用OnCreate。
如果数据库已经存在并且版本号不匹配,则调用OnUpgrade。您应该使用OnUpgrade将数据库从旧版本更改为新版本。
发布于 2011-11-25 23:36:25
我假设您指的是SQLiteOpenHelper中的OnCreate方法。当您请求一个可写或可读的数据库,并且需要创建该数据库时,它会被调用。我们不会直接调用oncreate方法。因此,如果一个数据库已经存在,并且我们请求一个可写或可读的数据库-不会创建新的数据库。
有关详细信息,请参阅以下链接
http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
http://developer.android.com/resources/tutorials/notepad/index.html
https://stackoverflow.com/questions/8270987
复制相似问题