我想了解RoomDatabase幕后发生的事情,它要求DAO是接口或抽象类。 我已经搜索了很长时间,但是所有文章和文档仅说明了操作方法,而不是原因。
答案 0 :(得分:0)
不仅仅是房间,改造,其他库也使用此模式,它称为编程为接口。 您不仅可以指定具体的实现,还可以指定要执行的工作,它们为您提供了将按照您的要求运行的实现。
要进一步研究,您可以查看以下文章: https://tuhrig.de/programming-to-an-interface/
答案 1 :(得分:0)
数据访问对象(Dao)是一个带注释的类,您可以在其中指定SQL查询并将其与方法调用相关联。
DAO必须是接口或抽象类,因为我们要确保将在其内部创建的CRUD方法在类级别实现。实际上,这是拥有接口或抽象类的整个想法。