【问题标题】:Is it possible to create a Queue on Database rows?是否可以在数据库行上创建队列?
【发布时间】:2019-04-29 08:51:59
【问题描述】:

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

【问题讨论】:

  • 你试过 Room + LiveData 吗?

标签: android architecture multiprocessing interprocess


【解决方案1】:

在 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

【讨论】:

    猜你喜欢
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2011-06-16
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多