2016-10-01 43 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

相关问题