【发布时间】:2019-04-29 08:51:59
【问题描述】:
【问题讨论】:
-
你试过 Room + LiveData 吗?
标签: android architecture multiprocessing interprocess
【问题讨论】:
标签: android architecture multiprocessing interprocess
在 Room、ViewModel 和 LiveData 上关注 this tutorial。
Room 是一个 SQL 数据库抽象,可以通过 LiveData 公开其数据。 ViewModel 是一个保存 UI 数据并在配置更改后继续存在的类。 LiveData 是一个可观察的数据容器,它知道 android 生命周期,因此您不必在生命周期回调中对其进行管理。
基本上,您创建一个 Room 数据库,然后将 LiveData 对象公开给 ViewModel。 ViewModel 反过来将 LiveData 对象暴露给片段/活动。片段或活动通过附加观察者来观察 ViewModel 的 LiveData。观察者定义了片段/活动如何对数据的变化做出反应。
如果您更喜欢 RXJava,您可以关注 this tutorial。本质上是相同的,但不是使用 LiveData 公开数据,而是使用响应式流。
编辑:这是一篇关于架构的非常好的文章:https://proandroiddev.com/android-architecture-starring-kotlin-coroutines-jetpack-mvvm-room-paging-retrofit-and-dagger-7749b2bae5f7
【讨论】: