也许我以错误的方式思考这个问题,但是如何创建预先填充的Realm DB呢?例如,让我们说我想创建一个包含1000个单词和定义的字典。用户可以在应用程序中更改定义,但最初数据库将具有默认定义。
我可以使用1000个单词和定义创建一个.realm文件,并将其包含在我的应用程序中吗?
仅供参考:我正在使用Realm和React Native,我目前正在使用 private void onClickRemove(object sender, EventArgs e)
{
foreach(TextBox text1 in inputTextBoxes)
{
this.Controls.Remove(text1);
}
}
进行测试以启动我的Android模拟器。
答案 0 :(得分:2)
我想我已经想到了这一点,所以我会发布我的解决方案,万一其他人可能会发现它有用。
我有一个将填充Realm DB的函数。但是,一旦我运行该功能,我想获取静态数据库并使用它而不是每次应用程序启动时生成数据库。这就是我努力的原因。但是,如果您只想备份数据库,这些步骤也很有用。
我主要使用模拟器进行测试,但我认为如果您在实际设备上进行测试,这些步骤将会有效。
从模拟器中获取Realm DB:
let YourRealmDB = new Realm({schema: [YourSchema]}); console.log('YourRealmDB path =', YourRealmDB.path);
/data/data/(package.name)/files/(filename).realm“filename”可能是“默认”
adb exec-out run-as (package.name) cat files/(filename).realm > (filename).realm
现在,要在您的应用中使用该数据库:
let YourRealmDB = new Realm({schema: [YourSchema]});
YourRealmDB.defaultPath = 'path/to/your/db/(filename).realm';
注意:如果您使用这样的“本地”数据库并且您的应用程序执行写入操作,则不会写入
到您的本地数据库。它将在YourRealmDB.path
写入数据库。所以,如果你想复制或
查看更新后的数据库,您需要运行adb exec-out run-as (package.name) cat files/(filename).realm > (filename).realm
再次获取最新版本的数据库。
我希望有所帮助。我花了很长时间把它们拼凑起来。