web-dev-qa-db-ja.com

レルム上のList <Object>またはRealmList <RealmObject> Android

私は〜が必要です list<Object>レルムを使用。私は試した RealmList<RealmObject>しかし、RealmObjectは抽象的であるため機能しません。

18
Bachlet Tansime

レルムのクリスチャン。 RealmObjectをRealm内に拡張するオブジェクトのみを保存できます。これは、レルムがスキーマレスデータベースではないためです。スキーマが必要であり、そのスキーマはRealmObjectを拡張するオブジェクトによって定義されます。 RealmListは、基になるコアデータベースとの通信を抽象化するために使用しますが、Listインターフェイスを実装しています。

この意味は

public class Foo extends RealmObject {
  private List<Object> objects;  // not legal
  private RealmList<Object> objects;  // not legal 
  private RealmList<RealmObject> objects; // not legal
}

public class Foo extends RealmObject {
  private RealmList<Foo> objects; // legal
}

List<Foo> reference = foo.getObjects(); // Legal
56