如何在数据库中预填充table并优化DAO接口?

How to prefill a table in the db and optimize the DAO interface?

我正在尝试使用包含四个实体的 Room DB 构建一个数据库,我已经为每个实体创建了一个 class 并使用 @Entity 注释对其进行注释。 我还为每个实体创建了一个 DAO。 最后,我创建了数据库抽象 class 并为每个 DAO 接口创建了一个抽象方法。

我的第一个问题是: 我想在用户使用代码中手动使用应用程序之前为前 3 个实体填充 table 数据,因此一旦用户下载应用程序,这些 tables 将已经定义。

我的第二个问题 为每个实体制作一个 DAO 或制作通用 DAO 哪个更好?

第一个问题的答案:您可以使用 this post 预填充数据,这清楚地说明了如何做。

第二个问题的答案:好吧,这取决于您希望代码的整洁程度。我所说的整洁是指应用面向对象的原则,这将有助于将逻辑隔离到通用 DAO(如果可能)中并且易于维护。这种做法将在您将来开发大型项目(相信我,这非常有帮助)时对您有所帮助,这些项目有数百个 类 都在做类似的事情。