android - 将 Realm 对象服务器用于协作应用程序

标签 android ios swift mobile realm

所以在过去的几天里,我一直在通读 Realm 文档,我很高兴在即将进行的项目中使用这个数据同步解决方案。在使用标准数据库模式(SQL、Firebase 等)之后。我仍然没有完全理解使用 Realms 的最佳方式。我看到 Realms 本来就是非常灵活的,但是关于如何设置和高效结构的示例或文档并不多。

因此,我只想提供一个简单的协作应用创意,并展示我对如何设置 Realms 的初步想法。为简单起见,假设这是一个包含聊天室的消息传递应用程序。用户可以创建聊天室,聊天室的所有者可以邀请其他人加入他们的房间。将该用户添加到房间后,他们将拥有对该房间的读/写访问权限。

我目前的结构:

1) 每个用户一个 Realm 。 (/用户/uid) 。这些 Realm 中的每一个 Realm 都将仅对拥有它的用户具有公共(public)读取访问权限和写入访问权限。

2) 每个聊天室的 Realm 。 (聊天室/uid)。每个聊天室都将包含与该特定房间相关的各种模型(消息、点赞、通知等)。最初只有所有者有读/写权限,其他人没有访问权限。然后,所有者可以开始向他们邀请的用户授予读/写权限。

3) 保存用户到聊天室映射的公共(public) Realm 。 (聊天成员)。这个 Realm 将包含具有两个属性的模型,一个用户 ID 和一个聊天室 ID。用户可以通过 ID 查询该 Realm ,以查看他们可以访问哪些聊天室 Realm 。

我觉得这是一个非常基本的结构,但我仍然不确定这是否充分利用了 Realm。另外,如果有人可以引导我找到一些更好的文档,请这样做。非常感谢任何人的反馈!!

最佳答案

引用:https://docs.realm.io/platform/getting-started-1/android-quick-start/step-4-chat-room-permission-api

在这里,他们使用权限 API 和部分同步来设计一个聊天应用程序,使用户能够创建公共(public)和私有(private)聊天室。 我还建议您按照上面链接中提到的前面的步骤,对 Realm 的工作原理有一个基本的了解。

关于android - 将 Realm 对象服务器用于协作应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678315/

相关文章:

ios - Game Center 身份验证在 iOS 8 中不起作用

iOS-Google 登录按钮

ios - 快速调试: app stops at breakpoints and doesn't crash

ios - Swift 3 使用 NSAttributedString 渲染 textview 但想要更改默认字体

android - ListView 和 ArrayAdapter<String>

Android系统对话框弹窗无法取消

android - 获取 android.content.res.Resources$NotFoundException : Resource ID #0x7f020059 error when trying to open Googlemaps

java - Google Drive api 保存到文件

ios - Instashare 如何在 iOS 设备上扩展 AirDrop?

ios - 如何根据类中的元素按顺序填充 TableView