我玩过Realm,让它与React-Native一起工作 - 从JSON文件中插入数据并且能够过滤/读取它。
现在真正的问题是,如何使用我的react-native应用程序预先打包数据。我已经看到了一些问题,其中提到了如何使用Native (IOS)和(Android)
我想检查是否有直接的方法来使用React-Native,可能是某人创建的桥梁?
谢谢!
答案 0 :(得分:1)
理想情况下,您可以在打开Realm时使用捆绑领域文件的路径。不幸的是,在添加对只读领域的支持之前,这将不起作用。我创建了一个跟踪此问题的问题:https://github.com/realm/realm-js/issues/392
在支持只读领域之前,您可以在AppDelegate中的应用程序启动时将捆绑的领域文件复制到Documents目录中,然后使用该路径访问捆绑的领域。支持相对路径,因此如果您将文件复制到<Documents>/bundled.realm
,只需传入文件名就可以打开此文件,即new Realm({path: 'bundled.realm'})
答案 1 :(得分:0)
我们创建了一种实用的方法来访问
export function readOnetContent() {
let mainbundelPath = RNFS.MainBundlePath + "/oNetContent.realm"
if (Platform.OS == "android") {
Realm.copyBundledRealmFiles();
mainbundelPath = "oNetContent.realm"
}
return new Promise((resolve, rejects) => {
Realm.open({
schema: Schema,
path: mainbundelPath,
readOnly: true})
.then(realm => {
let oNetContent = realm.objects(OnetContentSchema.name)
resolve(oNetContent)
})
.catch(error => {
console.log("error: ", error)
rejects(error)
})
})
}