草庐IT

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

Observable.just(1).flatMap(object:Function>{overridefunapply(integer:Int):Observable{returnObservable.just(integer*10)}}).flatMap(object:Function>{overridefunapply(integer:Int):Observable{returnObservable.just(integer*20)}}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).

android - 使用 Retrofit 2 和 rxJava 连接多个调用

我需要连接多个API调用,我想使用retrofit2和rxJavaobservables来做到这一点。我的场景如下:我必须执行第一个调用,该调用将返回一个对象数组,响应将类似于:[{"title":"Title1","id":"1"},{"title":"Title2","id":"2"}]然后我需要为每个对象执行一个API调用,因此每个对象的API响应将类似于:[{"title":"ChapterA","id":"1A",...},{"title":"ChapterB","id":"1B",...},...]所以我想连接所有这些调用并将其合并到一个包含所有信息的唯一响应对象中。我怎么

android - RxJava Subject 在不正确的调度程序上发出

我有一个单例类(class):publicclassSessionStore{Subjectsubject;publicSessionStore(){subject=newSerializedSubject(BehaviorSubject.create(newSession());}publicvoidset(Sessionsession){subject.onNext(session);}publicObservableobserve(){returnsubject.distinctUntilChanged();}}在Activity中,我观察session并对每次更改执行网络操作:

android - 使用 RXJava2 Flowable 过滤数据

我正在使用Room和RxJava,我想使用第二个的强大功能来过滤来自第一个的数据。假设房间正在返回用户。FlowablegetUsers()例如,我想按年龄>18过滤用户,所以我执行了以下操作:userDao.getUsers().flatMap(listUser->Flowable.fromIterable(listUser).filter(user->user.age>18)).toList().toFlowable()不幸的是,这不起作用。我的猜测是toList()永远不会结束,因为onTerminated永远不会被房间调用。所以我的问题是:我做错了什么?我怎样才能过滤我的用户并

android - 无法在 rxjava 中解析符号 Obserable.onSubscribe

因为我是RxJava的新手,试图运行以下代码,但它向我展示了Cannotresolvesymbol`Obserable.onSubscribe`代码如下ObservablefetchFromGoogle=Observable.create(newObservable.OnSubscribe(){@Overridepublicvoidcall(Subscribersubscriber){try{}catch(Exceptione){subscriber.onError(e);//Incasetherearenetworkerrors}}});在gradle中添加了以下条目compile'

android - 在 rxJava 中压缩超过 9 个 Observable

遇到需要做10-12个小的并行查询并合并结果的情况。但是如果有一个zip方法可以让你组合最多9个Observables,那么我不明白如何做更多。我尝试使用zip方法publicstaticObservablezip(Iterable>sources,Functionzipper)但是却报错了java.lang.ClassCastException:java.util.ArrayListcannotbecasttoio.reactivex.ObservableSource尝试看起来像这样Listlist=newArrayList();list.add(orderRepository.ge

android - RXJava Android - 创建另一个可观察对象所需的可观察结果

我找不到一种方法来组合或链接一系列可观察对象,它的响应是创建另一个可观察对象的其他调用的先决条件。我正在对可观察对象进行改造。我的服务:Stringurl="/geocode/json?sensor=false";@GET(url)ObservablegetReverse(@Query("key")StringgMapsKey,@Query("latlng")LatLngorigin);另一个服务需要那个GeocodeResult@POST("/api/orders")ObservablecreateOrder(@BodyGeocodeResultnewOrder);我正在尝试://先

android - 验证 rxjava 订阅者中的交互

想象一下MVP模式中的情况,您的演示者订阅返回观察者的服务:publicvoidgatherData(){service.doSomeMagic().observeOn(Schedulers.io()).subscribeOn(AndroidSchedulers.mainThread()).subscribe(newTheSubscriber());}现在TheSubscriber类从View调用onNext方法,比如:@OverridepublicvoidonNext(ReturnValuevalue){view.displayWhatever(value);}现在,在我的单元测试中

Android,RXJava,使用去抖动搜索

我正在使用debounce()来处理用户搜索并处理它在输入时的暂停(在最后一个字符后1秒搜索):RxSearchView.queryTextChanges(searchView).debounce(1,TimeUnit.SECONDS).subscribe(newAction1(){@Overridepublicvoidcall(CharSequencecharSequence){presenter.loadUsers(charSequence.toString());}});所以如果用户删除所有字符,它会等待1秒然后加载列表,我该如何处理它并立即加载列表?

android - Realm:使用 Clean-Architecture 和 RxJava2

有点上下文,我尝试将一些干净的架构应用到我的一个项目中,但我在存储库的(Realm)磁盘实现方面遇到了问题。我有一个存储库,它根据某些条件(缓存)从不同的数据存储中提取一些数据。这就是理论,当将所有这些与UseCases和RxJava2混合时,问题就来了。首先,我从Realm获取对象列表,然后手动创建一个Observable。但是subscribe(正如预期的那样)在不同的线程上执行,因此Realm最终崩溃......(第二block代码)这是我用来创建Observables的代码(来自抽象类DiskStoreBase):Observable>createListFrom(finalL