Czy ktoś wie, czy możliwe jest utworzenie tabeli dla klasy abstrakcyjnej w ActiveAndroid. Na przykład mógłbym stworzyć abstrakcyjną klasę Animal z dwoma konkretnymi klasami Dog and Cat. Chcę być w stanie zrobić coś takiego:ActiveAndroid klasa abstrakcyjna tabela
List<Animal> animals = new Select().from(Animals.class).execute();
co skutkowałoby „zwierzęta” zawierający wszystkie zapisane kotów i psów. Lub:
Animal animal = new Select().from(Animals.class).where("name = ?", name).executeSingle();
Gdzie „zwierzę” może być albo kot lub pies. Niestety, gdy to zrobię, otrzymuję wyjątek, ponieważ dla klasy abstrakcyjnej Animal nie jest tworzony żaden stół. Czy ktoś wie, jak mogę to zrobić za pomocą ActiveAndroid?
Nie można użyć klasy bazowej zamiast abstrakcji? –
Nie jestem całkiem pewien, czy rozumiem, dlaczego chcesz to zrobić w ten sposób? Celem klasy abstrakcyjnej jest użycie klasy potomnej, takiej jak "Kot" lub "Pies". Uwaga: Tworzysz obiekt "Zwierzęce zwierze", którego nie można zrobić w Javie, jednak twoja lista przed rozdaniem może być wykonana, ale będziesz musiał rzucić do odpowiedniej podklasy przed rozpoczęciem pracy z obiektem. –
Nie będę tworzyć abstrakcyjnego "Animal" w powyższym przykładzie. Chciałbym, aby ActiveAndroid zbudował kota lub psa, w zależności od typu obiektu, który został pierwotnie zapisany. – user3265561