草庐IT

observer-pattern

全部标签

java - 根据条件将 RxJava Observer 添加到链中

我正在编写一个Android应用程序。在某些时候,我需要检查从Retrofit方法返回的结果,如果它返回true-再执行一个API请求。没有Rx,逻辑看起来像这样:if(api.isVip()){checkIfPendingCancellation();}else{JoinVipActivity.start();}checkIfPendingCancellation(){if(api.pendingCancel()){YourVipIsAboutToCancelActivity.start();}else{CancelVipActivity.start();}}我知道可以用Rx包装所有

安卓NDK : Why is this malloc() having no observable effect?

这是我使用的代码的简化版本Java:privatenativevoidmalloc(intbytes);privatenativevoidfree();//thisiscalledwhenIwanttocreateaverylargebufferinnativememorymalloc(32*1024*1024);//EDIT:afterallocating,weneedtoinitializeitbeforeAndroidseesitasanythignotherthana"reservation"memset(blob,'\0',sizeof(char)*bytes);...//a

dart - flutter Bloc pattern -- 如何在导航器之后访问 bloc 数据

我有一个包含2个页面的应用程序,当点击主页按钮时,它会导航到“设置”页面。IconButton(onPressed:(){Navigator.push(context,MaterialPageRoute(builder:(context)=>Settings()));},),但是在设置页面上,来self的bloc的流数据都是NULL。我不知道为什么,在主页上一切都很好。我在设置页面的Bloc中添加了新数据作为测试,它显示正常,所以Bloc实现工作正常,只是没有在bloc构造函数中获取初始化数据。我做错了什么?Bloc数据在bloc构造函数中初始化,这是我的Bloc代码classStat

dart - flutter Bloc pattern -- 如何在导航器之后访问 bloc 数据

我有一个包含2个页面的应用程序,当点击主页按钮时,它会导航到“设置”页面。IconButton(onPressed:(){Navigator.push(context,MaterialPageRoute(builder:(context)=>Settings()));},),但是在设置页面上,来self的bloc的流数据都是NULL。我不知道为什么,在主页上一切都很好。我在设置页面的Bloc中添加了新数据作为测试,它显示正常,所以Bloc实现工作正常,只是没有在bloc构造函数中获取初始化数据。我做错了什么?Bloc数据在bloc构造函数中初始化,这是我的Bloc代码classStat

android - RXJava - 拆分和合并 Observable

我是RxJava的新手,需要一些关于如何执行以下操作的帮助/指导:IneedtogettwovaluesfromanObservableaStringaListIthenneedtoapplytwodifferentfilters()onthislistandthenfinallycombineallofthem(String,FilteredListA,FilteredListB)intoasingleobservable.我可以使用单个链式调用吗???(可能需要groupBy的示例)下面是执行相同操作的示例代码。MasterObject=String,ListObservableg

android - Observable.interval() 与 initialDelay

我有一个使用Observable.interval(POLL_INTERVAL,Seconds)实现的轮询服务。这工作正常,但我希望第一个延迟为0,我的意思是我想立即开始轮询,然后继续轮询每个POLL_INTERVAL。这是如何实现的? 最佳答案 RxJava有3个与时序相关的运算符(每个+1重载):timer(longdelay,TimeUnitunit[,Schedulerscheduler])在延迟后发出一个0L,timer(longinitialDelay,longperiod,TimeUnitunit[,Scheduler

android - 改造 Observables 并在成功请求中访问响应代码

我正在使用Retrofit和RxJava。我知道我可以处理错误thisway,所以我可以处理相应的错误。现在,我有一个api调用,我需要在201Http响应代码中获取请求代码,并在201发生时执行一些操作,如果发生,则执行其他操作响应代码是200。这样做的最佳做法是什么? 最佳答案 在这种情况下,您可以使用返回Observable的方法和Response有一个方法getStatus()用于获取响应代码。这意味着你不会得到反序列化的响应,你需要使用GsonConverter.toBody()从JSON执行手动转换。方法。

java - 使用 ObservableBoolean 或 Observable<Boolean> 组合两个可观察的 boolean 值

在JavaFX中,您可以执行以下操作来组合两个可观察的boolean值:BooleanPropertyimagesDownloaded=newSimpleBooleanProperty(false);BooleanPropertyanimationComplete=newSimpleBooleanProperty(false);BooleanBindingisValid=imagesDownloaded.and(animationComplete);我如何使用RxJava或google的DatabindingAPI做同样的事情?我还想监听isValid变量的值变化。

android - Observable android 理解

我正在尝试了解观察者模式在Android中的工作原理。我创建了这个方法来加载示例对象列表,将每个项目推送到订阅者并将其加载到recyclerview中。我不明白为什么如果我加载10个项目一切正常,但如果我加载100/1000或通常更多的项目,recyclerView是空的并且不会触发onNext、onComplete。privateObservablegetAppList(){returnObservable.create(newObservable.OnSubscribe(){@Overridepublicvoidcall(Subscribersubscriber){for(inti

android - 当第一个 Observable 为空时 RxJava concat

我有一个本地存储库和一个从中获取数据的远程存储库。我第一次想从远程存储库中获取数据,然后将其缓存并从本地数据库中获取。我正在使用2个Observables和concat方法来执行此操作:Observable.concat(localWeatherForecast,remoteWeatherForecast).filter(weatherForecasts->!weatherForecasts.isEmpty()).first();对于本地可观察对象,我使用这个:privateObservable>getAndCacheLocalWeather(){returnmLocalDataSou