【问题标题】:How to concat data from two observables如何连接来自两个可观察对象的数据
【发布时间】:2017-07-08 12:01:23
【问题描述】:

我有两个可观察的:

 Observable <Profile> profileObservable = briteDatabase.createQuery(UserMapper.Table.NAME, sql, String.valueOf(userId)).mapToOneOrDefault(UserMapper.MAPPER, null);
 Observable <List<Car>> carObservable = briteDatabase.createQuery(CarMapper.Table.NAME, sql, String.valueOf(userId)).mapToOneOrDefault(CarMapper.MAPPER, null);

 public class Profile {
 int id;
 String name; 
 ArrayList<Car> car; 
 ...
 }

 public class Car {
 int id;
 String brand;
 ...
 }

我需要从 carObservable 获取汽车列表并将其放入 profileObservable(将汽车列表放入 Profile),内部方法如下:

    @Override
public Observable<Profile> getProfile(String userId) {
    String sql = String.format("SELECT %s FROM %s WHERE %s=?", TextUtils.join(",", UserMapper.PROJECTION), UserMapper.Table.NAME, UserMapper.Columns.ID);

    Observable <Profile> profileObservable = briteDatabase.createQuery(UserMapper.Table.NAME, sql, String.valueOf(userId)).mapToOneOrDefault(UserMapper.MAPPER, null);

    Observable <List<Car>> carsObservable = getCars(String userId);

    /*
     Some important method to concat and return Observable <Profile>. I'm only beginner at RxJava( 

   */

}

【问题讨论】:

    标签: android rx-android sqlbrite


    【解决方案1】:

    你有没有尝试过 concat 操作符,我不知道我是否理解你的用例,但如果你只需要浏览汽车列表然后配置文件,只需一个接一个地连接

    @Test
    public void testContact() {
        Observable.concat(Observable.just("Hello"),
                          Observable.just("reactive"),
                          Observable.just("world"))
                .subscribe(System.out::println);
    }
    

    如果您想在 RxJava 世界中起步,请查看此处https://github.com/politrons/reactive

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 2023-04-08
      • 2012-07-16
      相关资源
      最近更新 更多