当前位置: 首页 > news >正文

Folw + Room 实现自动观察数据库的刷新

1、Room :定义数据结构、创建数据库

// 定义实体
@Entity
data class TestModel ()
// 定义数据库
@Dao
interface TestDao {
@Query("SELECT * FROM TestTable")
fun getAll(): List<TestModel>
}
// 获取数据库
abstract class TestDatabase: RoomDatabase() {
}

2、Flow:响应数据

// 修改返回类型,实现从数据库连续发出数据
fun getAll(): Flow<List<TestModel>>
// 观察数据
lifecycle.coroutineScope.launch {testViewModel.testDao_getAll().collect() {testAdapter.submitList(it)}
}

3、原理

可以从数据库编译后的 getAll 代码里找到 CoroutinesRoom.createFlow

http://www.lryc.cn/news/227745.html

相关文章:

  • 黑马程序员微服务Docker实用篇
  • 虚拟化服务器+华为防火墙+kiwi_syslog访问留痕
  • FlinkSQL聚合函数(Aggregate Function)详解
  • TensorFlow学习笔记--(3)张量的常用运算函数
  • RT-Thread:嵌入式实时操作系统的设计与应用
  • SpringBoot学习笔记-创建菜单与游戏页面(下)
  • STM32一
  • GPT-4 Turbo Assistants API
  • day08_回顾与课程概括
  • iptables、netfilter、firewalld、ufd简单介绍
  • Python基础入门例程53-NP53 前10个偶数(循环语句)
  • v-bind和v-model
  • Adobe premiere裁剪视频尺寸并转为GIF格式
  • 关于react输入框回显问题
  • 案例续集留言板
  • 72 内网安全-域横向CSMSF联动及应急响应初识
  • Leetcode—20.有效的括号【简单】
  • Leetcode—剑指OfferII LCR 019.验证回文串II【简单】
  • Mac电脑配置Flutter开发环境
  • QTableView如何清空数据保留表头
  • [工业自动化-17]:西门子S7-15xxx编程 - 软件编程 - PLC编程语言以及与嵌入式编程的比较
  • 云原生微服务架构及实现技术
  • Uniapp语言切换动态修改Js文件
  • GetSimple CMS忘记密码
  • 数据分析面试题1
  • 数据跨领域应用实例—车辆通行大数据应用场景(二)
  • Dart笔记:build_runner-用于 Dart 代码生成和模块化编译的构建系统
  • Ubuntu显示毫秒级时间
  • 模板——“C++”
  • 分类预测 | Matlab实现PSO-BiLSTM粒子群算法优化双向长短期记忆神经网络的数据多输入分类预测