Android应用程序是否在应用程序发布时创建了sqlite数据库?

时间:2017-08-14 14:38:34

标签: android database sqlite

我正在开发一些Android应用程序。我在android中有两个关于SQLite数据库的相关问题。

1)我有一堆SQL查询在我的SQLiteOpenHelper类中创建数据库表。查询在onCreate(SQLiteDatabase db)方法中执行。每次运行我的应用程序,使用手机时,是否重新创建数据库和数据库表?或者,如果它们不存在,我是否应该立即创建数据库和表格?

2)当我发布我的应用程序时,比如Playstore,我是否删除所有SQL查询并将创建的数据库文件包含在我的应用程序文件夹中,以便用户可以将数据库与应用程序一起下载?或者我应该留下SQL查询来创建数据库和表,以便用户下载我的应用程序,当他们运行它时,执行查询并创建数据库?

很抱歉一次提出两个问题,但我相信它们非常相关。

谢谢!

1 个答案:

答案 0 :(得分:0)

1)一旦更改了数据库结构,比如添加列或修改现有表,

您应该增加数据库版本号。然后,只会应用您的更改。

 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

有关详细信息,请参阅此链接。 https://developer.android.com/training/basics/data-storage/databases.html

2)您无法删除所有SQL查询并在应用程序中包含已创建的数据库文件。因为该表仅在用户运行应用程序时创建。它只通过调用数据库初始化方法创建一次。如果增加数据库版本号,则仅更新数据库。