Включение тела метода в комнатный метод Дао - PullRequest
0 голосов
/ 06 сентября 2018
@Insert
void insert(User user);

Метод, описанный выше, взят из класса Room Dao и вставляет данного пользователя в базу данных. У него нет тела, но я думаю, что код, необходимый для вставки, генерируется во время компиляции.

Теперь, если я добавлю к нему тело, как показано ниже, оно теряет функциональность вставки пользователя? Или он одновременно вставляет пользователя и запускает foo?

@Insert
void insert(User user){
   foo(); //stuff
}

1 Ответ

0 голосов
/ 07 сентября 2018

Дао классы чаще всего являются интерфейсами.

Вы не можете добавить реализации (тело) в интерфейсы.

Больше информации об интерфейсах: https://docs.oracle.com/javase/tutorial/java/concepts/interface.html

Вы могли бы сделать это абстракцией, но это не имело бы особого смысла, поскольку вставка не происходила Если метод вставки сам по себе не является абстрактным, у него уже есть реализация, и Room игнорирует его. Насколько я тестировал, это не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...