5.6

修改商品实体

与前面的部分类似,在此部分中,您将向应用中添加另一项用于修改商品实体的增强功能。

下面,我们将快速过一遍修改应用数据库中实体的步骤:

  • 添加测试,测试用于获取商品的 DAO 查询。
  • 使用实体详情填充 Edit Item 界面中的文本字段。
  • 使用 Room 更新数据库中的实体。

添加 DAO 测试

  1. 在 ItemDaoTest.kt 中,添加一个名为 daoGetItem_returnsItemFromDB() 的测试。
 
@Test
@Throws(Exception::class)
fun daoGetItem_returnsItemFromDB()
  1. 定义函数。在协程内,向数据库添加一个商品。
 
@Test
@Throws(Exception::class)
fun daoGetItem_returnsItemFromDB() = runBlocking {
    addOneItemToDb()
}
  1. 使用 itemDao.getItem() 函数从数据库中检索实体,并将其设置为名为 item 的 val
 
val item = itemDao.getItem(1)
  1. 将实际值与检索到的值进行比较,并使用 assertEquals() 断言。完成后的测试如下所示:
 
@Test
@Throws(Exception::class)
fun daoGetItem_returnsItemFromDB() = runBlocking {
    addOneItemToDb()
    val item = itemDao.getItem(1)
    assertEquals(item.first(), item1)
}
  1. 运行测试并确保测试通过。

填充文本字段

运行应用后,请转到 Item Details 界面,然后点击 FAB,您可以看到界面标题现在为 Edit Item。不过,所有文本字段均为空。在此步骤中,您将使用实体详情填充 Edit Item 界面中的文本字段。

posted @ 2024-06-19 22:24  混沌武士丞  阅读(3)  评论(0编辑  收藏  举报