使用RxJava和Retrofit进行Api调用和显示数据

时间:2017-03-31 08:28:25

标签: android retrofit rx-java

我正在使用Retrofit从Api获取托盘类型列表。 这就是我的通话方式。

@GET("pallettypes")
Observable<List<PalletType>> getPalletTypes();

然后我有一些函数从api获取响应并映射它(我不知道我是否正在使用map函数,因为它应该是RxJava的新功能)

private static Observable<List<PalletType>> getTypes() {
return getApiService().getPalletTypes()
                .map(response -> {
//Here i need some code to get the response from the api and put it in Store.palletTypes()
            }
            return response;

然后在onViewCreated部分调用该函数。

 getTypes().subscribeOn(Schedulers.io())
                  .observeOn(AndroidSchedulers.mainThread())
                  .doOnSubscribe(() ->{
                  })
                  .doOnTerminate(() -> {
                  })
                  .subscribe(response -> {
                      PalletsManager.getInstance().setTypes(response);
                      populateTypes(response);
                  }, throwable -> {
                  });

我需要populateTypes函数来使用自定义视图显示类型

public void populateTypes (List<PalletType> palletTypes) {
    for(PalletType type : palletTypes) {
        palletView = new PalletView(getContext());
        palletView.setLabel(type.getType());
        delivered_pallets.addView(palletView);
    }
}

这是我的想法,但它不起作用,因为我从未进入.subscribe块并显示注释。

0 个答案:

没有答案