我的数据结构如下:我确实有一个巨大的地址数据库,我想在交付我的Android应用程序时预先填写,然后我有一些使用/链接到这些地址的用户数据。
我希望将地址保存在一个领域,将用户数据保存在另一个领域。这样做的原因是,每当我提交新的应用程序版本以便向用户提供最新数据时,我都可以轻松替换地址领域。
我现在面临的问题是如何在两个域上实现连接,即获取用户数据及其相应的地址。我需要阅读,例如Person
记录(来自用户领域),附带Address
记录(来自预填充领域)。这有可能吗?
答案 0 :(得分:0)
目前不支持从单独的数据库加入多个RealmResuls,除非您手动将条目与条目匹配。
话虽如此,有多种方法可以实现您的目标。在某种程度上,我会编写地址并将用户与其匹配,就像许多地理应用程序一样。
答案 1 :(得分:0)
不,目前Realm不支持组合多个领域的结果。你必须以某种方式手动完成。
根据您的使用情况,可以通过多种方式完成。一种方法是Person对象上的辅助方法:
public class Person extends RealmObject {
private String name
private String addressId; // Id in Address Realm
public Address getAddress(Realm addressRealm) {
return addressRealm.where(Address.class).equalTo("id", addressId).findFirst();
}
}
我会谨慎地在List中执行此操作,因为您以这种方式触发了大量查询。此外,更改侦听器和查询也无法在Realms中工作。