合并同一领域对象的两个领域数据库,从 android 到 phone

Combining two realm databases of the same realmobject from android wear to phone

我是一名自学成才的 android 程序员,如果这是一个新手问题,我深表歉意。有谁知道是否有一种简单的方法可以将两个领域数据库文件合并到一个合并的领域数据库中?数据库包含相同的领域对象类型并且互斥(相同对象没有重叠)。

我的目标是:我有一个锻炼的领域数据库 "session",它由用户添加到使用可穿戴设备的对象列表组成。当用户保存会话时,我想将那些保存的对象发送到 phone,在那里它可以与存储在 phone 上的领域数据库中的所有过去会话组合。

我可以将数据库文件作为资产从 wear 发送到 phone 并简单地替换 phone 上的文件(使用此示例代码 https://gist.github.com/tajchert/dc30560891bc6aee76fb),但是每次都发送整个数据库似乎很浪费,如果 wear 数据库以某种方式被删除,我不想丢失所有内容。我宁愿只保存当前会话的新数据,然后在新会话开始时清除可穿戴设备上的数据库。这样,我只会将新数据发送到可穿戴数据层。

一般来说,不可能在 Realms 之间移动 Realm 对象。您可以使用 copyFromRealm()copyToRealm()。当然,您将需要跟踪哪些对象已被移动(我以某种方式标记它们或删除它们)。

另一种选择是使用 Realm Mobile Platform (https://realm.io/products/realm-mobile-platform/),它可以帮助您保持所有设备同步。