当前位置: 首页 > 知识库问答 >
问题:

在房间里使用哪一个:LiveData还是RxJava?

苏阳州
2023-03-14

我正在为我的数据库管理使用空间,而我在处理实时数据时,对使用什么感到困惑。目前,为了管理实时数据,我使用了flowable,我对此非常满意。我感到困惑的是,我也可以使用livedata来执行相同的操作。

addDisposable(userDao().getUsersFlowable()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(users -> userAdapter.setUsers(users)));
userDao().getUsersLiveData()
    .observe(this, users -> {
        userAdapter.setUsers(users)
    })

共有1个答案

令狐阳秋
2023-03-14

通常使用视图时,使用LiveData通常是很好的。它自动管理订阅,与数据绑定库很好地工作。它是一种具有生命周期意识的数据持有者,而不是数据流(Rx概念)。

在其他情况下,我建议使用RxJava,它具有强大的操作链来进行转换和并发。希望它能对你的理解有所启发。

 类似资料:
  • 我正在设计一个数据库,该数据库将在Android using Room中实现,在阅读文档后,我发现没有关于使用Int或Long作为主键的建议。 在某些地方,它们使用int主键定义实体: 但是在其他地方,它说如果你想得到插入的最后一行的ID,“插入”方法返回一个长的。 如果@插入方法只接收到1个参数,它可以返回一个long,这是插入项的新rowId。如果参数是数组或集合,则应返回long[]或Lis

  • 我正在研究Nodejs/socket.io实时聊天,我需要一些实现房间的建议。 哪一个更好,使用名称空间还是使用房间特性来完全隔离彼此之间的聊天? 是否存在资源使用差异?

  • getAllTransactions()调用运行时没有异常,但不返回结果。另一方面,getMyTransactions()返回select查询结果。 在viewModel: 在活动中:

  • 我开始学习基于令牌的身份验证,并尝试学习如何在Laravel5中实现它。我遇到了两种非常流行的技术来实现这一点,但我感到困惑,因为我对这两种技术都是新手。 Medium的这篇文章说我应该使用LucadeGasperi/oauth2-server-laravel,从Github上的明星数量和引向它的引用数量来看,我确信它在社区中是一个非常受欢迎的包。这一个应该帮助我实现OAuth。 谁能给我指出每一

  • 问题内容: 很简单的问题。我正在使用nodejs作为后端构建实时游戏,我想知道是否有任何信息可用于确定哪个更可靠,哪个更有效?我在整个代码中都大量使用Redis和Socket.io。所以我想知道我是否应该使用Socket.io的房间,还是最好使用redis的pub- sub ? 更新: 刚意识到有一个非常重要的原因,为什么您可能想在socket.io房间中使用redis pub / sub。使用S

  • 问题内容: 我知道方法的局部变量和参数驻留在堆栈中,但是我无法弄清楚在Java情况下方法实际上在哪里? 如果我声明任何Thread对象,例如: 因此,这意味着除了主方法之外,我还创建了一个单独的方法调用。这是什么意思?这是否意味着在堆栈内存上调用单独的方法序列?我对吗? 问题答案: 每个线程都分配有自己的堆栈。 本文对Java进程中的内存分离进行了很好的介绍。 在Java虚拟机内部,每个线程都被授