首页 > 解决方案 > 是否可以在数据库行上创建队列?

问题描述

现在我正在尝试创建一个流程,我想在表格中插入数据,一些观察者将收到通知并能够根据他们的兴趣编辑数据。以下是有关如何执行此操作的粗略想法。谁能建议我如何实现这个模型/拱门?

在此处输入图像描述

标签: androidarchitecturemultiprocessinginterprocess

解决方案


按照本教程了解 Room、ViewModel 和 LiveData。

Room 是一个 SQL 数据库抽象,可以通过 LiveData 公开其数据。ViewModel 是一个保存 UI 数据并在配置更改后继续存在的类。LiveData 是一个可观察的数据容器,它知道 android 生命周期,因此您不必在生命周期回调中管理它。

基本上,您创建一个 Room 数据库,然后将 LiveData 对象公开给 ViewModel。ViewModel 反过来将 LiveData 对象暴露给片段/活动。片段或活动通过附加观察者来观察 ViewModel 的 LiveData。观察者定义片段/活动如何对数据的变化做出反应。

如果您更喜欢 RXJava,则可以改为遵循本教程。它本质上是相同的,但不是使用 LiveData 公开数据,而是使用响应式流。

编辑:这是一篇关于架构的非常好的文章:https ://proandroiddev.com/android-architecture-starring-kotlin-coroutines-jetpack-mvvm-room-paging-retrofit-and-dagger-7749b2bae5f7


推荐阅读