Ответ 1
К сожалению, ActiveAndroid пока не поддерживает наследование моделей таким образом (https://github.com/pardom/ActiveAndroid/issues/14, https://github.com/pardom/ActiveAndroid/issues/257).
Если вы хотите изменить ActiveAndroid здесь, что вы могли бы сделать:
- Создайте аннотацию, которая позволяет вам определить модель (
Animals
) как нечто, которое не сохраняется (см.com.activeandroid.annotation.Table
). - При попытке выполнить запросы для этого класса вы можете использовать отражение, чтобы определить его дочерние классы, а затем выполнить этот запрос для каждого дочернего класса.
- Затем вы в основном возьмете список результатов для каждого запроса и объедините их в один список и вернете это.
Честно говоря, я никогда не видел наследования в каких-либо библиотеках Android ORM, и лично я не думаю, что это хороший шаблон дизайна для моделей. Возможно, вам захочется пересмотреть свои рассуждения о том, чтобы пойти по этому пути.