是否可以在数据库行上创建队列?

时间:2019-04-29 08:51:59

标签: android architecture multiprocessing interprocess

现在,我正在尝试创建一个过程,在该过程中我想在表中插入数据,一些观察者将收到通知,并能够根据自己的兴趣编辑数据。以下是有关如何执行的粗略想法。任何人都可以建议模型/架构师如何实现这一目标吗?

enter image description here

1 个答案:

答案 0 :(得分:5)

在Room,ViewModel和LiveData上关注this tutorial

Room是一个SQL数据库抽象,可以通过LiveData公开其数据。 ViewModel是一个类,用于保存UI的数据并且可以保留配置更改。 LiveData是可观察到的容器,用于了解Android生命周期的数据,因此您不必在生命周期回调中进行管理。

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

如果您更喜欢RXJava,则可以遵循this tutorial。本质上是相同的,但是不是使用LiveData公开数据,而是使用反应流。