rx-java相关内容

如何创建每次更新成员变量时发出的 Observable(从不调用 onCompleted)

我想在管理状态的单例类中创建一个 observable(即它存储一个身份验证令牌).我希望我的 android 应用程序/活动订阅一个 observable,每次更新状态(身份验证令牌)时都会发出更新.我该怎么做呢?我见过的所有示例都展示了如何创建一个自包含的 observable,该 observable 立即完成或订阅后完成. 感谢您的帮助! 解决方案 您需要一个 Behavio ..
发布时间:2021-07-14 18:53:18 移动开发

使用 RxJava 注册 Google GCM

我想在浏览网络和 RxDoc 后从 AsyncTask 更改为 RxJava,但我找不到任何解决方案.有人知道吗? public void getRegId(){new AsyncTask() {@覆盖受保护的字符串 doInBackground(Void... params) {字符串味精 = "";尝试 {如果(gcm == null){gcm = GoogleCloudMessaging ..
发布时间:2021-07-14 18:53:15 移动开发

在 RxJava2 中使用 flatMap 还是 zip?

我有一个名为 Student 的班级,它有两个字段 grade 和 school.两个字段都需要从远程服务器获取.当返回两个结果时,我新建了一个 Student 对象. 在RxJava的帮助下,我以两种方式完成,一种在flatMap中,另一种在zip运算符中. Observable等级可观察 =Observable.create((ObservableOnSubscribe) 发射器 -> ..
发布时间:2021-07-14 18:53:12 其他开发

我们如何使用 RxJava 进行分页 Web 服务调用,其中每个页面都依赖于上一页的响应,而无需递归?

Web 服务 API 有时使用分页,其中 Web 服务调用的参数指示要检索的页面.大致可以分为两种: 请求页面的参数与任何给定的页面响应无关(例如,“给我第 3 页,页面大小为 10") 请求页面的参数依赖于某些先前页面响应的那些(例如,“在标识符为 foo 的项目之后给我接下来的 10 个项目) 这个 SO 答案 很好地涵盖了第一个场景,其中 Web 服务只需要一个页码以及我们 ..
发布时间:2021-07-14 18:53:10 其他开发

Rx:结合 ThrottleFirst 和 Sample 运算符

给定一个源 observable S,我怎样才能让 RxJava/Rx 产生 observable D,那: 立即从 S 发出第一项 在发射每个项目之后和发射下一个项目 L 之前至少等待 T 秒,其中 L 是 S 在等待期间发射的最后一个项目 如果 S 在等待期 T 内没有产生任何项目(从第 2 点开始),则在它出现在 S 之后立即发出下一个项目 大理石图: 我想用: ..
发布时间:2021-07-14 18:53:05 其他开发

RxJava 在多个订阅者之间共享一个 Observable 的发射

我有以下问题: 我有一个 observable 正在做一些工作,但其他 observable 需要该 observable 的输出才能工作.我尝试多次订阅同一个 observable,但在日志中我看到原始 observable 被多次启动. 这就是我创建对象的可观察对象: Observable.create((Observable.OnSubscribe) 订阅者 -> {如果(mA ..
发布时间:2021-07-14 18:53:02 Java开发

RxJava 订阅阻塞 observable

我想实现以下目标: String result = myObservable.toBlocking().first(); 即它就像一个普通的函数调用.但是这永远不会发生,因为您需要订阅它,我不知道该怎么做.如果我订阅它,结果将在另一个范围内,并且代码非常难看,因为无论如何我只能像常规 observable 一样获得结果,因此将其变成阻塞 observable 毫无意义. 解决方案 它确 ..
发布时间:2021-07-14 18:52:59 其他开发

如何等待异步 Observable 完成

我正在尝试使用 rxjava 构建示例.该示例应编排 ReactiveWareService 和 ReactiveReviewService,重新调整 WareAndReview 组合. ReactiveWareService公共 ObservablefindWares() {返回 Observable.from(wareService.findWares());}ReactiveReviewS ..
发布时间:2021-07-14 18:52:56 Java开发

RxJava Observable.fromEmitter 奇怪的背压行为

我一直在使用 Observable.fromEmitter() 作为 Observable.create() 的绝佳替代品.我最近遇到了一些奇怪的行为,我不太明白为什么会这样.我真的很感谢对背压和调度程序有一定了解的人看看这个. public final class EmitterTest {公共静态无效主(字符串 [] args){可观察的obs = Observable.fromEmitte ..
发布时间:2021-07-14 18:52:53 Java开发

如何在rx java中分组和返回列表

我正在尝试根据 Rxjava 中的某些条件创建组列表. 以下是我的回复: {“日期":[{“日期":18,“值":“1"},{“日期":18,“价值":“2"},{“日期":18,“价值":“3"},{“日期":19,“值":“1"},{“日期":19,“价值":“2"},{“日期":19,“价值":“3"},{“日期":19,“价值":“4"}]} 如何按值 18 分组 [值 1,值 ..
发布时间:2021-07-14 18:52:50 其他开发

在后台运行 void 方法

我想使用 rxjava 在后台运行一个方法.我不在乎结果. void myHeavyMethod() { (...) } 到目前为止,我唯一的解决方案是将返回类型修改为例如布尔值. boolean myHeavyMethod() { (...) return true;} 之后我跑了: Completable.defer(() -> Completable.fromCallable(th ..
发布时间:2021-07-14 18:52:47 其他开发

RxJava - Just vs From

在以下情况下使用 Observable.just 与 Observable.from 时,我得到相同的输出: public void myfunc() {//只从这里换出,我得到相同的结果,为什么?Observable.just(1,2,3).subscribe(new Subscriber() {@覆盖公共无效 onCompleted() {Log.d("","all done.oncomp ..
发布时间:2021-07-14 18:52:44 Java开发

如何添加超时以检测 Observable 有一段时间没有发出

我的用例如下: 我创建了一个 Observable 来访问远程服务器以获取一些数据.然而,由于服务器设计不善,可能永远没有响应,也没有例外.为了解决这个问题,我想要一些超时重试机制. 目前我尝试启动一个计时器来停止请求并在其中抛出异常,然后重试直到一定次数的尝试或我的真正超时.我尝试使用 mergeWith 运算符将请求与 Observable.interval 合并以使用 Obser ..
发布时间:2021-07-14 18:52:41 其他开发

RxJava 中的笛卡尔积

是否可以在 rxjava 中获得两个 Observable 的笛卡尔积? 像这样: A ->1,2,3B->一、二A x B ->(1, a), (1, b), (2, a), (2, b), (3, a), (3, b) 解决方案 你想要的是为一个数字生成一对,就像你有字母一样.因此,您可以使用 map 和 flatMap 运算符轻松实现这一点. Observablenumber ..
发布时间:2021-07-14 18:52:38 Java开发

RxJava 的回退 Observable

我正在寻找一种更好的方法来在使用 RxJava 时为空结果实现简单的 Observable 回退系统.这个想法是,如果对一组数据的本地查询导致零项,那么应该进行回退查询(可能是网络调用或其他东西).目前,我的代码包括以下内容: Observable.create(new Observable.OnSubscribe() {@覆盖public void call(订阅者订阅者){列表结果 = qu ..
发布时间:2021-07-14 18:52:33 其他开发

我是否必须取消订阅已完成的 observable?

如果一个 observable 完成,我是否仍然需要取消订阅/处置(在 RxJava2 中)该 observable 以移除 Observer(防止内存泄漏),或者在 onComplete 或 onComplete 或 onError 事件发生? Single、Completable、Flowable 等其他类型怎么样 解决方案 是的,你是对的. 流终止后( onComplet ..
发布时间:2021-07-14 18:52:28 Java开发

如何使用 RxJava 处理分页?

我正在考虑将我的 android 应用程序转换为使用 Rxjava 进行网络请求.我目前访问的网络服务类似于: getUsersByKeyword(String query, int limit, int offset) 据我所知,Observables 是一个“推"而不是“拉"接口.所以我是这样理解要解决的问题的: 应用向服务注册,获取 Observable 以供查询 结果被推送到应 ..
发布时间:2021-07-14 18:52:25 其他开发

使用后是否需要释放/释放 Observable 对象?

我是否需要在使用 Observable 对象后释放/释放 Observable 对象,以防 Observable 对象没有被 GC 垃圾处理?我没有找到任何文章提及它.Observable 对象是否会被 GC 自动垃圾化? Observable.create(new ObservableOnSubscribe() {@覆盖public void subscribe(ObservableEmit ..
发布时间:2021-07-14 18:52:22 其他开发

如何订阅多个订阅者到 Observable 或 Flowable?

在 Hello World 示例中,有一个订阅者 public static void main(String[] args) {Flowable.just("Hello world").subscribe(System.out::println);} 如何制作两个或更多? 解决方案 您可以为多个订阅者订阅任何 observable/flowable.只需根据需要多次重复 subsc ..
发布时间:2021-07-14 18:52:19 其他开发

为什么两秒后控制台没有信息输出---Rxjava

公共类 RxJavaTest {公共静态无效主(字符串 [] args){Observable.timer(2, TimeUnit.SECONDS).subscribe(new Consumer() {@覆盖公共无效接受(Long aLong)抛出异常{System.out.println("定时器:接受" + aLong);}});}} 为什么两秒后控制台没有信息输出? 解决方案 默认 ..
发布时间:2021-07-14 18:52:16 Java开发