因此,在过去的几天里,我一直在阅读Realm文档,我很高兴在即将开展的项目中使用这种数据同步解决方案。使用标准数据库模式(SQL,Firebase等)之后。我仍然没有完全理解利用领域的最佳方式。我认为Realms应该非常灵活,但是没有很多关于如何设置和有效结构的示例或文档。
所以,我想提供一个简单的协作应用程序的想法,并展示我对如何设置领域的初步想法。为简单起见,我们假设这是一个包含聊天室的消息应用程序。用户可以创建聊天室,房间的主人可以邀请人们到他们的房间。一旦该用户被添加到房间,他们将具有对房间的读/写访问权。
我目前的结构:
1)每个用户的领域。 (/ Users / uid)。这些域中的每一个都只对拥有它的用户具有公共读访问权和写访问权。
2)每个聊天室的领域。 (ChatRooms / uid)。每个聊天室将保存与特定房间相关的各种模型(消息,喜欢,通知等)。最初只有所有者才具有读/写访问权限,其他人都无权访问。然后,所有者可以开始向他们邀请的用户分发读/写权限。
3)一个公共领域,用于保存用户到聊天室的映射。 (ChatMembers)。这个领域将包含具有两个属性的模型,用户ID和聊天室ID。用户可以通过id查询该领域,以查看他们将访问哪些聊天室领域。
我觉得这是一个非常基本的结构,但如果这是最好的利用Realm,我仍然不是积极的。此外,如果有人可以带我到更好的文档,请做。非常感谢任何人的反馈!!
答案 0 :(得分:2)
引用:https://docs.realm.io/platform/getting-started-1/android-quick-start/step-4-chat-room-permission-api
在这里,他们使用权限API和部分同步来设计聊天应用程序,使用户可以创建公共和私人聊天室。 我还建议您按照上面链接中提到的先前步骤进行操作,以基本了解领域的工作原理。