2016-10-01 48 views
0

我是一個自學的android程序員,所以很抱歉,如果這是一個新手問題。有誰知道是否有一種簡單的方法可以將兩個領域數據庫文件合併到一個組合的領域數據庫中?數據庫包含相同的realmobject類型,並且是互斥的(不存在相同對象的重疊)。將兩個相同realmobject的領域數據庫從android穿戴到手機

我的目標是這樣的:我有一個鍛鍊「會話」的領域數據庫,它由用戶使用可穿戴設備添加的對象列表組成。當用戶保存會話時,我想將這些保存的對象發送到手機,在該手機中可以將手機中存儲的領域數據庫中的所有以前的會話與它們結合使用。

我可以將數據庫文件作爲資產發送到手機,只需更換手機上的文件(使用此示例代碼https://gist.github.com/tajchert/dc30560891bc6aee76fb),但每次發送整個數據庫似乎是浪費,而我如果磨損數據庫以某種方式被刪除,不想丟失所有東西。我寧願只保存當前會話中的新數據,然後在啓動新會話時清除可穿戴設備上的數據庫。這樣,我只能將新數據發送到可穿戴數據層。

回答

0

通常,Realm對象不能在Realm之間移動。您可以使用copyFromRealm()copyToRealm()。當然,你需要跟蹤哪些對象,這些對象已經被移動了(或者我以某種方式標記它們或者刪除它們)。

另一種選擇是使用Realm移動平臺(https://realm.io/products/realm-mobile-platform/),它可以幫助您保持所有設備同步。

+0

Realm移動平臺聽起來像門票! linux/mac osx要求只是爲了運行服務器?目前我正在使用Windows PC。此外,這是否意味着我不再需要將領域文件推送到我的移動應用程序,只要我將'syncEnabled = true'放入我的build build.gradle中,它就會處理該數據傳輸? – grantka

+0

當前不支持Windows。但是您可以嘗試在Windows機器上的虛擬機(docker,...)中安裝Linux。 – geisshirt

相關問題