【发布时间】:2019-11-29 14:29:16
【问题描述】:
我正在学习如何在 android 中实现 MVVM 架构,但我无法理解流程。我不明白dao 类是如何连接到数据库类的,以及模型类中的POJO 是如何添加到数据库中的。
这是我的理解。
Model class: 它是一个 POJO 类,其中包含文件夹结构。Dao它包含需要在数据库上执行的所有 CRUD 操作,并附带一个方法,通过该方法可以调用它们。Database class它扩展了 RoomDatabase 并创建并返回一个数据库实例。它还包含一个返回 Dao 的抽象方法。
这是我的代码(其实我还有更多,但我只提供了我不理解的部分):
- 模型类
`@Entity
public class InventoryModel {
@PrimaryKey (autoGenerate = true)
public int id;
private String itemName;
private int itemQuantity;
private double itemPrice;
public InventoryModel(String itemName, int itemQuantity, double itemPrice){
this.itemName = itemName;
this.itemQuantity = itemQuantity;
this.itemPrice = itemPrice;
}
2.道
@Dao
public interface InventoryModelDao {
@Query("SELECT * FROM InventoryModel")
LiveData<List<InventoryModel>> getAllInventoryItems();
@Insert(onConflict = OnConflictStrategy.ABORT)
void addItem(InventoryModel inventoryModel);
@Delete
void deleteItem(InventoryModel inventoryModel);
}
3.Database类(我只包含了抽象方法,排除部分返回一个db实例)
public abstract InventoryModelDao inventoryModelDao();
Dao 到底是如何连接到database 的?
【问题讨论】:
标签: java android mvvm viewmodel dao