我正在开发一些Android应用程序。我在android中有两个关于SQLite数据库的相关问题。
1)我有一堆SQL查询在我的SQLiteOpenHelper类中创建数据库表。查询在onCreate(SQLiteDatabase db)方法中执行。每次运行我的应用程序,使用手机时,是否重新创建数据库和数据库表?或者,如果它们不存在,我是否应该立即创建数据库和表格?
2)当我发布我的应用程序时,比如Playstore,我是否删除所有SQL查询并将创建的数据库文件包含在我的应用程序文件夹中,以便用户可以将数据库与应用程序一起下载?或者我应该留下SQL查询来创建数据库和表,以便用户下载我的应用程序,当他们运行它时,执行查询并创建数据库?
很抱歉一次提出两个问题,但我相信它们非常相关。
谢谢!
答案 0 :(得分:0)
1)一旦更改了数据库结构,比如添加列或修改现有表,
您应该增加数据库版本号。然后,只会应用您的更改。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
有关详细信息,请参阅此链接。 https://developer.android.com/training/basics/data-storage/databases.html
2)您无法删除所有SQL查询并在应用程序中包含已创建的数据库文件。因为该表仅在用户运行应用程序时创建。它只通过调用数据库初始化方法创建一次。如果增加数据库版本号,则仅更新数据库。