2

我正試圖將預填充領域與反應原生應用程序捆綁在一起。將預填充領域與原生應用程序捆綁起來

我跟着這個,試圖讓這個工作的android。 https://github.com/realm/realm-js/issues/532

建議將領域置於資產文件夾中:(android/app/src/main/assets)。我這樣做:

enter image description here

然而,當我運行Realm.copyBundledRealmFiles()在我的基礎構件contrructor像這樣:

constructor(props) { 
    super(props); 
    Realm.copyBundledRealmFiles(); 
    } 

我得到的生成錯誤:

enter image description here

任何幫助解決這個問題,以便我可以將預先填充的領域與應用程序捆綁在一起,這將非常有幫助UL認證。我一直在這個工作了好幾個小時,現在似乎無法解決它!

回答

5

確定了這一點的Android:

1)在機器人/應用/ SRC /主/資產文件夾粘貼境界。

2)在index.android.js:使用copyBundledRealmFiles()將它們移動:

import { AppRegistry } from 'react-native'; 
import React from 'react'; 
import Realm from 'realm'; 
import App from './src/App'; 

const App2 =() => { 
    Realm.copyBundledRealmFiles(); 
    return (
    <App /> 
); 
}; 

AppRegistry.registerComponent('SenecaV2',() => App2); 

然後關閉所有的終端和運行反應本地運行的Android來重新打包。

您可以檢查是否領域正在compied在通過使用命令行去(在Mac上)

library/android/sdk/tools

然後命令monitor

這將打開設備監控。然後,在設備監視器上單擊文件mangager並導航到data/data/{packageName}/files,然後您應該看到複製的領域。

然後,如果您希望能夠引用您的應用程序,路徑中使用該軟件包:

https://github.com/johanneslumpe/react-native-fs

爲了讓你的路徑文件系統:

const path = `${RNFS.DocumentDirectoryPath}/{nameOfYourPrePackagedRealmFile}` 

你可以然後在新的Realm構造函數配置路徑屬性中使用它來訪問領域。

https://realm.io/docs/javascript/1.0.0/api/Realm.html#path

希望這有助於有同樣問題的人!

+0

嗨,你能不能告訴我如何獲得預填充境界文件下手? Windows + Android – Mike

+0

您可以使用領域瀏覽器手動進行填充1)或者以標準方式algorhymically執行,請參閱https:// realm。io/docs/javascript/latest/ – LuckyLukas

+0

1)沒有mac 2)文檔缺乏,或者我無法找到它或它的ios ... – Mike