gpt4 book ai didi

react-native - 如何为 React Native 应用程序创建 Realm DB?

转载 作者:行者123 更新时间:2023-12-01 23:40:56 32 4
gpt4 key购买 nike

也许我的想法不对,但是我该如何创建一个预填充的 Realm DB?例如,假设我想创建一个包含 1000 个单词和定义的字典。用户可以在应用内更改定义,但最初数据库将具有默认定义。

我可以创建一个包含 1000 个单词和定义的 .realm 文件并将其包含在我的应用程序中吗?

仅供引用:我将 Realm 与 React Native 结合使用,我目前正在测试使用 emulator -avd CordovaAVD 启动我的 Android 模拟器。

最佳答案

我想我已经解决了这个问题,所以我会发布我的解决方案以防其他人发现它有用。

我有一个函数可以填充 Realm DB。但是,一旦我运行该函数,我就想获取该静态数据库并使用它,而不是在每次应用程序启动时都生成该数据库。这就是促使我努力的原因。但是,如果您只想备份数据库,这些步骤也很有用。

我主要是使用模拟器进行测试,但我认为如果您在实际设备上进行测试,这些步骤会奏效。

从模拟器获取 Realm DB:

  1. 通过在您的代码中的某处添加以下内容,在手机中找到您的 Realm 文件的路径:
    let YourRealmDB = new Realm({schema: [YourSchema]});    console.log('YourRealmDB path =', YourRealmDB.path);
  1. 路径类似于
    /data/data/(package.name)/files/(filename).realm
    “文件名”可能是“默认”
  2. 从命令行运行
    adb exec-out run-as (package.name) cat 文件/(文件名).realm > (文件名).realm
  3. 这会将您的 Realm 数据库复制到您的当前目录

现在,要在您的应用中使用该数据库:

  1. 创建 Realm 对象:
    let YourRealmDB = new Realm({schema: [YourSchema]});
  2. 将对象路径设置为您的数据库:
    YourRealmDB.defaultPath = 'path/to/your/db/(filename).realm';

注意:如果您像这样使用“本地”数据库并且您的应用程序执行写操作,它不会写 到您的本地数据库。它将写入位于 YourRealmDB.path 的数据库。所以如果你想复制或 查看更新的数据库,您需要运行 adb exec-out run-as (package.name) cat files/(filename).realm > (filename).realm 再次获取最新版本的数据库。

希望对您有所帮助。我花了很长时间才把它们拼凑起来。

关于react-native - 如何为 React Native 应用程序创建 Realm DB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40200704/

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