我一直在阅读有关使用sqlite数据库的一些教程,他们似乎都在应用程序的第一次运行时创建了一个新的数据库,表等。这有必要吗?如果我在安装应用程序时已经在资产文件夹中放置了预构建的数据库,该怎么办?我是否可以简单地打开与所述数据库的连接并开始使用其信息,或者是否有特定原因每个人都想在首次启动时使用sql创建它?
答案 0 :(得分:2)
这个问题经常出现。尝试使用本教程在Android上使用现有数据库: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
答案 1 :(得分:1)
SQLiteOpenHelper
。阅读它here。具体来看SQLiteOpenHelper.onCreate()
- 应该在哪里创建数据库(或从资产文件夹中复制,如你的情况)答案 2 :(得分:0)
自从我上次使用SQLite数据库(在Android中)以来已经有一段时间了,但我相信当他们编写CREATE
语句时,他们总是使用IF NOT EXISTS
条件(即{{1} }})。
我不知道您将使用SQLite,但我相信他们在Android中这样做“只是为了确保”。也就是说,如果是用户第一次运行应用程序,则必须首先创建DB / Tables ,否则应用程序将变为疯狂。否则,它们(可能)已经创建,并且这种情况将由CREATE (DATABASE|TABLE) IF NOT EXISTS...
子句处理,它们只是继续并与现有数据库建立连接。双赢。
(如果由于某种原因,用户不是第一次使用该应用程序并且数据库不存在,那么它将再次创建。但这显然不是吗?;))
答案 3 :(得分:0)
如果您只是链接到预先存在的数据库,它将不会绑定到您的系统。所以可能会有失败。首次运行时创建数据库是使用db的最合适方式。