我是一个自学成才的android程序员,如果这是一个新手问题,我很抱歉。有人知道是否有一种简单的方法将两个领域数据库文件合并到一个合并的领域数据库中?数据库包含相同的realmobject类型,并且是互斥的(没有相同对象的重叠)。
我的目标是这样的:我有一个健身"会话"的领域数据库,它由用户添加到使用可穿戴设备的对象列表组成。当用户保存会话时,我希望将这些保存的对象发送到手机,在那里它可以与存储在手机上的领域数据库中的所有过去会话相结合。
我能够将数据库文件从wear发送到手机作为资产,并简单地替换手机上的文件(使用此示例代码https://gist.github.com/tajchert/dc30560891bc6aee76fb),但是每次发送整个数据库似乎很浪费,并且我不想失去一切,如果wear数据库以某种方式被删除。我宁愿只保存当前会话中的新数据,然后在启动新会话时清除可穿戴设备上的数据库。这样的话,我只需要向可穿戴数据层发送新的数据。
一般来说,在Realm之间移动Realm对象是不可能的。可以用copyFromRealm()
和copyToRealm()
。当然,您将需要跟踪哪些对象,哪些对象已经被移动(要么以某种方式标记它们,要么删除它们)。
另一个选择是使用Realm移动平台(https://realm.io/products/realm-mobile-platform/),它可以帮助你保持所有设备同步。