也許我正在想這是錯誤的方式,但我如何創建一個預填充的Realm DB?例如,假設我想創建一個包含1000個詞和其中的定義的詞典。用戶可以更改應用內的定義,但最初數據庫將具有默認定義。如何爲React Native應用程序創建Realm數據庫?
我可以用1000個單詞和定義創建一個.realm文件並將其包含在我的應用程序中嗎?
僅供參考:我正在使用Realm和React Native,我目前正在使用emulator -avd CordovaAVD
進行測試以啓動我的Android模擬器。
也許我正在想這是錯誤的方式,但我如何創建一個預填充的Realm DB?例如,假設我想創建一個包含1000個詞和其中的定義的詞典。用戶可以更改應用內的定義,但最初數據庫將具有默認定義。如何爲React Native應用程序創建Realm數據庫?
我可以用1000個單詞和定義創建一個.realm文件並將其包含在我的應用程序中嗎?
僅供參考:我正在使用Realm和React Native,我目前正在使用emulator -avd CordovaAVD
進行測試以啓動我的Android模擬器。
我想我已經想通了,所以我會張貼我的解決方案,以防其他人可能會發現它的用處。
我有一個函數將填充Realm DB。但是,一旦我運行該功能,我想抓住該靜態數據庫並使用它,而不是在每次啓動應用程序時生成數據庫。這就是促使我努力的原因。但是,如果您只想備份數據庫,這些步驟也很有用。
我主要是使用模擬器進行測試,但我認爲如果您在實際設備上進行測試,這些步驟將起作用。通過在代碼中加入這個地方
let YourRealmDB = new Realm({schema: [YourSchema]}); console.log('YourRealmDB path =', YourRealmDB.path);
要抓住從模擬器境界DB =「2」>
/data/data/(package.name)/files/(filename).realm「文件名」將可能是「默認」
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';
注:如果您使用「本地」 DB這樣和你的應用程序執行寫操作,也不會寫 到本地數據庫。它將寫入數據庫YourRealmDB.path
。因此,如果您想複製或 查看更新的數據庫,則需要再次運行adb exec-out run-as (package.name) cat files/(filename).realm > (filename).realm
以獲取最新版本的數據庫。
我希望有幫助。我花了相當長的時間把所有這些都集中在一起。
謝謝你,但是當我使用Realm瀏覽器打開文件時,它要求加密密鑰?我可以在那裏得到? –
您應該閱讀以前的答案:http:// stackoverflow。com/questions/33674982 /帶預填充數據的領域與資產 – Orlando
該答案似乎與React Native沒有任何關係。它看起來可能會描述如何在本機Android應用程序中執行此操作。我會從我的問題中刪除android標籤,以防引起混淆。 – bergie3000