作者:偏偏喜欢你_Jerry_207 | 来源:互联网 | 2022-10-26 20:00
现在,我正在尝试创建一个过程,在该过程中我想在表中插入数据,一些观察者将收到通知,并能够根据自己的兴趣编辑数据。以下是有关如何执行的粗略想法。任何人都可以建议模型/架构师如何实现这一目标?
1> AaronJ..:
按照有关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