2017-06-16 9 views
1

私はレコードのリストを持っており、各繰り返しで10レコードを処理したいと思います。だから私はどのようにチェーンの下に10レコードのリストを発行するobservableを持つことができますrxjava:一連のデータをチェーンに渡す方法

以下のコードは完全ではありません/正しいです。私は何をしようとしているのかを示すためにそれを加えました

new Function<Cursor, Observable<List<A>>>() { 
       @Override 
       public Observable<List<A>> apply(final Cursor cursor) throws Exception { 
        return Observable.create(new ObservableOnSubscribe<List<A>>() { 

         @Override 
         public void subscribe(ObservableEmitter<List<A>> e) throws Exception { 
          List <A> list = new ArrayList<Attendee>(); 

          Attendee attendee; 
          while ((attendee = pendingUpSyncAttendeeCursor.getNextItem()) != null) { 
           list.add(pendingUpSyncAttendeeCursor.getNextItem()); 
          } 

          e.onNext(list); 
          e.onComplete(); 

         } 
        }); 

       } 
      } 
    ).groupBy(new Function<List<Attendee>, Object>() { 

答えて

0

わかりました私はあなたが欲しいものを理解しています。ここでは、反復あたり10のリストを形成し、私はあなたがここに

https://github.com/politrons/reactive

をreactiveXのより多くの例を見ることができ、そのリストの10個の要素

@Test 
public void twoDeepLevel() { 
    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20); 
    Observable.from(list) 
      .flatMap(number -> Observable.from(list) 
        .take(10) 
        .collect(ArrayList<Integer>::new, ArrayList::add)) 
      .scan(new ArrayList<>(), 
        (lastItemEmitted, newItem) -> { 
         lastItemEmitted.add(newItem); 
         return lastItemEmitted; 
        }) 
      .subscribe(System.out::println, System.out::println); 
} 

のリストを返すコードがあります

関連する問題