@Insert
void insert(User user);
以上方法取自Room Dao类,并将给定的User插入数据库。它没有任何主体,但是我认为在插入时会执行插入操作所需的代码。
现在,如果我像下面这样添加一个主体,它会失去插入用户的功能吗?还是插入用户并运行foo?
@Insert
void insert(User user){
foo(); //stuff
}
答案 0 :(得分:2)
Dao类是最常见的接口。
您不能在接口中添加实现(正文)。
有关界面的更多信息:https://docs.oracle.com/javase/tutorial/java/concepts/interface.html
您可以使其抽象,但这没有多大意义,因为不会发生插入。如果insert方法本身不是抽象的,则它已经具有实现,而Room将忽略它。据我测试,它不起作用。