具有两个数据库的android应用程序
我正在制作一个应用程序,它在assets文件夹中包含一个数据库,比如数据库db1。当我打开应用程序时,我再次使用API创建db。这两个数据库名称相似 复制db时,我看到使用api创建的db1正在被db1写入资产。这里我有一个解决方案,首先从资产中复制数据库,然后在java中打开数据库。 在资产文件夹数据库中,它包含表,即A、B、C,以及使用代码创建的数据库,用于制作表A、B、C、D、E、F 现在我想要的是: 当我升级应用程序时,我不能盲目复制资产中的数据库,因为资产将覆盖db1(所有表)中的所有现有数据。我想知道我是否可以用其他名称复制数据库,比如说db2。然后打开并复制db2中的所有表,并用新复制的表覆盖db1中的表;i、 必须将db1中的e表A、B、C替换为db2中的表具有两个数据库的android应用程序,android,android-sqlite,Android,Android Sqlite,我正在制作一个应用程序,它在assets文件夹中包含一个数据库,比如数据库db1。当我打开应用程序时,我再次使用API创建db。这两个数据库名称相似 复制db时,我看到使用api创建的db1正在被db1写入资产。这里我有一个解决方案,首先从资产中复制数据库,然后在java中打开数据库。 在资产文件夹数据库中,它包含表,即A、B、C,以及使用代码创建的数据库,用于制作表A、B、C、D、E、F 现在我想要的是: 当我升级应用程序时,我不能盲目复制资产中的数据库,因为资产将覆盖db1(所有表)中的所有
我想知道这是否可能?如果可能的话,给我一些样品作为参考 升级应用程序不会强制升级数据库。因此,除非您实际更改了数据库的版本号(传递给
SQLiteOpenHelper
的构造函数),否则旧数据库不会更改
如果您确实因为更改了数据库架构而更改了数据库的版本号,那么您必须重写onUpgrade
方法,将必要的信息从现有数据库复制到某个临时位置(或内存),从资产中复制数据库文件并将数据插回