我正在开发一些 android 应用程序。我有两个关于 android 中的 SQLite 数据库的相关问题。
1) 我有一堆 SQL 查询来在我的 SQLiteOpenHelper 类中创建数据库表。查询在 onCreate(SQLiteDatabase db) 方法中执行。每次我使用手机运行应用程序时,是否都会重新创建数据库和数据库表?或者,如果数据库和表不存在,我应该做些什么来立即创建它们?
2) 当我发布我的应用程序时,比如 Playstore,我是否删除所有 SQL 查询并将创建的数据库文件包含在我的应用程序文件夹中,以便用户可以随应用程序一起下载数据库?或者我应该让 SQL 查询来创建数据库和表,以便用户下载我的应用程序并在运行它时执行查询并创建数据库?
很抱歉一次问两个问题,但我相信它们是非常相关的。
谢谢!
1)一旦您更改了数据库结构,例如添加列或修改现有表,
您应该增加数据库版本号。然后只会应用您的更改。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
有关更多信息,请参阅此链接。https://developer.android.com/training/basics/data-storage/databases.html
2) 您不能删除所有 SQL 查询并将创建的数据库文件包含在您的应用程序中。因为表只在用户运行应用程序时创建。并且它只通过调用数据库初始化方法创建一次。如果增加数据库版本号,则只会更新数据库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句