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

时间:2015-03-10 14:51:19

标签: java android database realm

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

由于

3 个答案:

答案 0 :(得分:4)

来自境界的克里斯蒂安。 目前你问的是真的不可行。正如其他人指出的那样,实际上只有两种方法。

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

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

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

答案 1 :(得分:1)

我不认为共享同一个数据库是可能的, 但你可以试试这些方法:

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

答案 2 :(得分:1)

这个blog post解释了如何在iOS上实现对此的支持,并在底部提供以下关键信息。

  

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

我担心我不知道Android状态。