2015-05-07 10 views
14

Potrzebuję list<Object> używając Realm. Próbowałem RealmList<RealmObject>, ale to nie działa, ponieważ RealmObject jest abstrakcyjna.Lista <Object> Lub RealmList <RealmObject> na Realm Android

+0

można wyjaśnić te wiersze: „Staram RealmList ale to nie robi pracy z powodu RealmObject to abstrakcyjny”. –

+0

Potrzebuję List , ale Realm go nie obsługuje, więc moje pytanie brzmi: jeśli istnieje jakiś ekwiwalent listy w Realm, nawet próbowałem RealmList , ale to nie działa –

+1

Nie wiem, ale RealmList może rozwiązać Twój problem. – wisemann

Odpowiedz

50

Christian z królestwa tutaj. Możesz tylko zapisywać obiekty, które rozszerzają RealmObject wewnątrz Królestwa. Dzieje się tak dlatego, że Realm nie jest bazą danych, które nie mają schematów. Wymagamy schematu, a ten schemat jest definiowany przez obiekty rozszerzające RealmObject. Używamy RealmList, ponieważ usuwa on komunikację z bazową bazą danych, ale implementuje interfejs List.

Oznacza to, że

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