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

可观察到的在科特林列出

孙佑运
2023-03-14
 @GET("/")
fun getInfo(@Query("pew") pew1: Double, @Query("pew2") pew2: Double): Observable<PewResponse>
private var mPewList: MutableList<PewList> = arrayListOf()
override fun getResultFromNetwork(): Observable<PewResponse> {
    val pewObservable = pewService.getInfo("pew1","pew2")
    return pewObservable.concatMap {
      //How do I fill my list ??

    }


}

我遵循这个示例https://github.com/joanby/android-mvp/blob/master/moviesfeed/app/src/main/java/com/juangabriel/moviesfeed/movies/moviesrepository.java

现在我想做这样的事情:

@Override
public Observable<Result> getResultFromNetwork() {

    Observable<TopMoviesRated> topMoviesRatedObservable = moviesApiService.getTopMoviesRated(1)
            /*.concatWith(moviesApiService.getTopMoviesRated(2))
            .concatWith(moviesApiService.getTopMoviesRated(3))*/;

    return topMoviesRatedObservable
            .concatMap(new Function<TopMoviesRated, Observable<Result>>() {
                @Override
                public Observable<Result> apply(TopMoviesRated topMoviesRated) {
                    return Observable.fromIterable(topMoviesRated.getResults());
                }
            }).doOnNext(new Consumer<Result>() {
                @Override
                public void accept(Result result) {
                    results.add(result);
                }
            });

}

因此,正如我所看到的,他填充了结果列表,然后在演示者上执行以下操作:https://github.com/joanby/android-mvp/blob/master/moviesfeed/app/src/main/java/com/juangabriel/moviesfeed/movies/moviespresenter.java

共有1个答案

赏星河
2023-03-14

如果来自服务器的数据是单块的,则应该使用single,因为它只返回一次值。当数据以块的形式到达时,可观察的将执行。

有关更多详细信息,您可以查看以下答案:https://stackoverflow.com/a/42759432/9060113

编辑:

@GET("/")
fun getInfo(@Query("pew") pew1: Double, @Query("pew2") pew2: Double): Single<PewResponse>


override fun getResultFromNetwork() {
  pewService
     .getInfo("pew1","pew2")
     .subscribeOn(Schedulers.io()) // for background processing
     .observeOn(AndroidSchedulers.mainThread()) // get result in Main Thread (it require rxAndroid lib)
     .subscribe(
       { pewResponse -> // parse response and fill list },
       { // handle error }
     )
}
 类似资料:
  • 问题内容: 给定汽车清单(),我可以这样做: 有没有办法我可以从一个到一个序列? 像没有参数的东西 问题答案: 您可以这样映射到: 请注意,flatMapping可能不会保留源可观察的顺序。如果订单对您很重要,请使用。

  • 我正在用一个库编程,我不知道代码,只知道方法,我不能修改它。我试着制作一个“航班”的表格视图,但我不知道如何为每个航班命名(或ID)。有人能帮我吗?谢谢此处有一些代码:

  • 如何在使用Kotlin的Spring Boot中正确初始化ConfigurationProperties? 目前我喜欢下面的例子: 但是它看起来很丑陋,实际上不是一个iable,foo是常量ue,应该在启动期间初始化,将来不会改变。

  • 问题内容: 我一直在阅读Observer模式,以保持UI处于最新状态,但仍然看不到它的用途。即使在我的特定对象中通知了我的MainActivity然后运行update();方法我仍然无法使用Pet对象来获取更新值,因为该对象是在Oncreate中创建的…而我只是无法创建新对象,因为那时变量会有所不同..这是我的实施,它似乎不起作用。 观察者/ MainActivity 可观察/宠物 问题答案: 首

  • 我试图理解当我使用 在或之后,在我使用时返回true 我知道是一次性的。isDisposed()返回false。有人能解释一下到底发生了什么吗?。我理解一个写得很好的观察。create不能在onComplete()或onError()之后发出项。