领域 – 在应用程序之间共享数据库

所以我有一个由3个APK / Apps组成的应用程序。 如何在应用程序之间共享数据库? 我假设当前在应用程序之间不可见的原因是因为它们在不同的上下文中传递。

谢谢

来自英国的基督徒在这里。 目前您所要求的实际上是不可行的。 正如其他人指出的那样,实际上只有两种方法。

1)公开ContentProvider。 但是,这需要您将RealmResults映射到Cursor,这不是一件轻而易举的事。 我们计划将RealmCursor暴露在线下,但其他事情已经优先考虑,所以我们还没有看到细节。

2)将Realm数据库放在共享位置,然后从那里读取应用程序。 这听起来像一个简单的方法,但不幸的是Realm还不支持多个进程(多个应用程序需要同时打开相同的Realm文件)。 所以现在你必须在你的应用程序中实现一个锁定方案,以便他们可以决定谁可以打开该文件。

所以现在,答案是:你可以,但它需要很多黑客,所以不是真的推荐。 从积极的方面来说,我们已经意识到这一点,并且至少多进程支持正在积极地开展工作。

我不认为共享相同的数据库是可能的,但您可以尝试以下方式:

  1. 将文件保存在特定目录中并与您的应用程序一起使用。
  2. 在服务器端使用您的数据库并使用xml / json读取结果。

这篇博客文章解释了如何在iOS上实现对此的支持,并在底部提供以下关键信息。

您可以在Realm Swift v0.92开始使用进程间通信(下载最新版本,或阅读文档),然后使用Realm Objective-C v0.91(下载最新版本或阅读文档)。

我担心我不知道Android的状态。