小编Oct*_*nel的帖子

列表中的每个项目的RxJava在Android中使用Retofit发出api请求

我的Android项目中存在以下问题:

我有一个使用Retrofit从上一个网络调用获得的元素列表(ArrayList)。CategoryItem看起来像这样:

public class CategoryItem {
   String id;
   String name;
   public CategoryItem(String id, String name) {
     this.id = id;
     this.name = name;
   }
   public String getId() {
     return id;
   }
   public String getName() {
     return name;
   }
}
Run Code Online (Sandbox Code Playgroud)

实际上,类别由20个元素组成。现在,我需要制作一个网络API,并获取每个类别的产品列表。为此,产品API将类别中的ID作为查询参数。在获得某种类别的产品列表之后,我将其添加到内部SQLite DB中。

我想使用RxJava(1和2)做到这一点。

我到目前为止所做的不是多线程的,而是在MainThread上的,这是不正确的。我将在此处添加代码段:

for (int i = 0; i < categoryItems.size(); i++) {
    CategoryItem categoryItem = categoryItems.get(i);
    final String iCat = categoryItem.getId();
    Observable<ProductResponse> call = networkManager.getApiServiceProductsRx().getProductsRx(iCat);

    Subscription subscription = call
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Subscriber<ProductResponse>() {
                @Override
                public void onCompleted() {
                } …
Run Code Online (Sandbox Code Playgroud)

android rx-java rx-java2

0
推荐指数
1
解决办法
4253
查看次数

标签 统计

android ×1

rx-java ×1

rx-java2 ×1