gpt4 book ai didi

android - 在 android 中使用 PrePopulated SQlite 数据库

转载 作者:行者123 更新时间:2023-11-29 00:54:14 26 4
gpt4 key购买 nike

我尝试使用 react-native 为 android 应用程序打开 Sqlite 数据库,但无法使用存储在项目 Assets 目录中的预填充数据库打开。

我已经从 openDataBase 代码数据库中删除了位置和 createfromLocation,该数据库是在 android 设备中创建的,如果没有模式和数据,该数据库将是空的。我可以从代码中填充数据,但这没有任何意义。那么我犯的错误可能是什么。我在这里遗漏了什么吗?

代码(App.js 文件):

 const db = SQLite.openDatabase(
{
name: 'Recipe.db',
location: 'default',
createFromLocation: '~Recipe.db',
}

日志:

 OPEN database: Recipe.db
05-20 09:22:23.620 5975 6009 I ReactNativeJS: new transaction is waiting for open operation
05-20 09:22:23.629 5975 6009 I ReactNativeJS: OPEN database: Recipe.db failed, aborting any pending transactions
05-20 09:22:23.632 5975 6009 I ReactNativeJS: { [Error: Could not open database]
05-20 09:22:23.632 5975 6009 I ReactNativeJS: code: 0,
05-20 09:22:23.632 5975 6009 I ReactNativeJS: line: 100047,
05-20 09:22:23.632 5975 6009 I ReactNativeJS: column: 27,

最佳答案

如果 SQLite 数据库存储在 Assets 文件夹中,则无法打开它进行写入。通常,在启动时,应用程序会检查它自己的/data/data/database 文件夹中是否有 SQLite 数据库。如果没有,它将数据库从 Assets 文件夹复制到/data/data/database 文件夹,然后打开该副本进行写入。

在/data/data/database 文件夹中对数据库所做的更改将持续存在,即使应用已更新。但是,如果用户删除应用程序,它将被删除。然后应用程序将不得不再次进行数据库复制。

关于android - 在 android 中使用 PrePopulated SQlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56224119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com