2016-06-12 22 views
2

私のデータは次のように構成されています:私はAndroidアプリを提供する際にあらかじめ入力したいアドレスの巨大なデータベースを持っています。それらのアドレス。Android + Realm:複数のレルムからデータを取得

私はあるレルムのアドレスと別のレルムのユーザーデータを保存したいと思います。その理由は、ユーザーが最新のデータを入手できるように新しいアプリケーションバージョンを送信するときはいつでも、アドレス領域を簡単に置き換えることができるからです。

私が直面している問題は、両方の領域で結合を達成する方法、つまりユーザーデータとそれに従うアドレスをフェッチすることです。私は例えばを読む必要があります。 Addressレコード(プレフィルド領域からのもの)が添付されたPersonレコード(ユーザー領域からのもの)。これは何とか可能ですか?

+0

レルムとそれぞれのクエリを手動でマップする必要があります。 – EpicPandaForce

答えて

0

エントリをエントリに手動で一致させない限り、複数のRealmResulsを別々のデータベースから結合することは現在サポートされていません。

あなたが探しているものを達成するには、複数の方法があります。ある方法では、私は地理的なアプリケーションがたくさんあるので、アドレスをコード化し、それらとユーザをマッチさせるだろう。

+0

「エントリをエントリに手動でマッチさせる」とはどういう意味ですか? 「住所をコード化する」とはどういう意味ですか?現在は実際には役に立たない... – swalkner

0

いいえ、現在、レルムには複数のレルムの結果を結合する機能はありません。何とか手動で行う必要があります。

ユースケースによっては、さまざまな方法で対応できます。

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(); 
    } 
} 

私はあなたがそのようにクエリの多くをトリガしているとして、しかし、一覧でこれを行うには慎重のようになります。一つの方法は、Personオブジェクトのヘルパーメソッドです。リスナーを変更しても、クエリーはレルム間では機能しません。

関連する問題