问题标签 [rx-kotlin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
178 浏览

android - 如何创建扩展功能以使 rx 订阅 flowable 清洁器?

我正在使用 room 和 RxAndroid 开发一个 android 应用程序。问题是我正在使用下一个代码来刷新我的回收站视图中的信息。

如果我在我的活动中实现这一点,它就像一个魅力。但是我想创建一个扩展函数,以在使用数据库中的 flowables 时使代码更清晰。我创建了这个函数

但是当我尝试使用它时,它什么也没做。它不会引发错误或任何事情。有人知道存档的方法吗?或者有人知道为什么它不起作用?

0 投票
2 回答
5436 浏览

android - 如何将此 rxjava/rxkotlin flatMap 转换为 lambda 表达式?

0 投票
1 回答
1489 浏览

android - 使用 sorted() 或 toSortedList() 对 Rx 中的排放进行排序不起作用

我正在尝试Observable使用sorted()or 或toSortedList().

这是我的代码:

在这里,我比较每个时间戳Book以获得一个排序列表,以便将其显示给用户。

有什么问题?

ObservableorSingle返回的orsorted()toSortedList()发出任何东西。只是空白。零排放。

这是调用doOnNext()之前和之后打印的日志的输出:toSortedList()

如您所见,toSortedList()在链中调用 后没有打印任何日志。

我在这里能错过什么?

非常感谢任何帮助。提前致谢。

0 投票
1 回答
1495 浏览

android - Observables.combineLatest 如何在 Observables.combineLatest 中监听三个以上的字段

我有代码可以使用Observables.combineLatest监听三个字段

但是当我向Observables.combineLatest添加另一个参数时,它会出现错误,因为只能传递 3 个内联参数。

现在我希望在Observables.combineLatest的参数列表中传递 4 个参数。我知道应该使用数组或列表来完成,作为参数传入,但我很难使用Kotlin弄清楚。

帮帮我..提前谢谢..

0 投票
1 回答
769 浏览

android - 使用 ViewModel 和 RxJava2 在 Android 中缓存数据的最佳方法

在我的应用程序中,我使用 RxJava2 和 Architecture Components ViewModel 中的新类。在我的例子中,我需要将 SQL 子句推送到 ViewModel,它会做一些魔术并返回 Observable,它会给我我需要的数据。一切正常,但我不确定我是否以最佳方式使用 RX。

我的数据流:ViewModel 有 PublishSubject,我在上面推送 SQL。ViewModel 还具有通过映射主题创建的 Observable。此外,我在 Subject 上使用了 distinctUntilChanged,以防止再次执行相同的查询。为了缓存数据,我在 Observable 上使用了 replay(1).autoconnect(1),但这种方法有一个缺陷。有时,当 Observable 尚未连接时,我的 Subject 推送了 Sql,而我的数据从未到达我这里。我应该使用 BehaviourSubject 吗?或者也许我不应该首先使用 replay(1).autoconnect(1) ?或者也许我的整个流程是错误的?例子:

0 投票
1 回答
643 浏览

android - RxSwift 类似于 Android 的 Actions

几年前,我第一次接触到ReactiveCocoa的反应式编程。在那里他们有了关于 s 的概念,它通过扩展库ActionRACCommand被带到RxSwift中。

如他们的 GitHub 页面所述:

动作是一种表达“嘿,稍后我需要你订阅这个东西”的方式。

Actions 接受一个workFactory: 一个闭包,它接受一些输入并产生一个 observable。当execute()被调用时,它将其参数传递给此闭包并订阅该工作。

  • 只能在“启用”时执行(如果未指定则为真)。
  • 一次只执行一件事。
  • 聚合各个执行中的下一个/错误事件。

以我的经验,在进行健壮的响应式 iOS 开发时,它绝对是响应式编程工具箱中不可或缺的工具。


现在我们也想把它带到Android应用程序中。但是经过无数小时的研究,我还是找不到RxJavaRxKotlin的相应组件。

Swift 中的实现相对简单,所以我们可以移植它,但我首先想听听是否:

  1. 这确实不存在,如果存在
  2. 是否存在不存在的Android特定原因,即移植它的原因
0 投票
2 回答
2091 浏览

android - 如何从列表中获取 Arraylist 中的 Json 响应使用 RxJava 和 Kotlin

在 ArrayList 中获取响应时面临问题。

我在字符串值上有以下响应

低于此字符串的值

改造结果是

下面的代码片段向 API 发送请求。

模型类

我想在下面的vehicleListArray上的 Arralist VehicleType List 上获取此值

我们如何才能做到这一点。 提前致谢。

0 投票
1 回答
812 浏览

android - Kotlin,如果点击对话框按钮时出现错误,如何重试请求

让我们想象一下 Kotlin 的情况,当我们尝试获取请求但没有互联网连接并且出现错误时,然后显示 AlertDialog,如果用户单击“肯定按钮”,我们需要重试请求。

此方法通过电话号码检查是否存在用户:

这里是处理错误的常用方法:

最后,单击肯定按钮时显示提示重试请求的对话框的方法:

}

请帮我完成处理点击肯定按钮以重试请求。我想,需要处理方法中的错误,.doOnError()或者.onErrorResumeNext()我被困在这里......

0 投票
2 回答
421 浏览

android - 平面图中的 RxKotlin zip

这是我的代码模板

我发现 Single.Just 会执行,但 zip 部分永远不会执行。我做错了什么或者平面功能不支持 zip。

任何帮助将不胜感激。

解决方案:

这是我的错误,第二张单曲 t2 没有产生响应。

0 投票
1 回答
1519 浏览

android - 如何将多个具有不同回调的 Observable 合并到一个流中?

我有这个问题。我正在尝试将本地数据库与远程应用程序同步到我的 android 应用程序中。我正在创建上传本地创建的新信息的逻辑,服务器使用远程 ID 响应并将其保存在服务器中。为了存档这个,我使用了一个方法,它接受一个对象数组并返回一个 Observable,它为每个元素发出服务器的响应。像这样。

你怎么看,在 onSuccess 从当前 observable 调用另一个方法。它使用相同的逻辑并且显示在前面。

它继续与所有表。我们总是在当前 Observable 的 onSuccess 中执行下一个表的更新。这样做是因为我需要按特定顺序进行同步。

我的问题是,有没有办法将所有这些 Observable 合并为一个来执行单个订阅并控制每个 onNext 情绪?

感谢您的回答