2016-11-17 7 views
0

私は私がこのようなオブジェクトを取得することができますAPIがあります。RxJavaリピート操作

Answer from API 
{ 
    currentPage = some_int; 
    maxPage = some_int; 
    List<String> items; //items on page 
} 

を、私は取得する方法に問題

Observable<Answer from API> 

を返すメソッドのgetItems(ページ)といくつかのRestApiServiceを持っていますサーバーからのすべてのページ?

+2

[この質問]を見てみましょう(https://stackoverflow.com/questions/37024967/how-to-handle-pagination-with-retrofit-2を見ることができます - と - rxjava)または[この質問](https://stackoverflow.com/questions/28047272/handle-paging-with-rxjava) – miensol

答えて

0

このコードベースの例は、とにかくトリック

@Test 
public void repeat() { 
    int maxPage = 10; 
    int[] arrayPages = IntStream.range(0, maxPage).toArray(); 
    List<Integer> pages = IntStream.of(arrayPages).boxed().collect(Collectors.toList()); 
    Observable.from(pages) 
      .map(this::getItemsApi) 
      .toList() 
      .subscribe(list -> System.out.println("All items:" + list)); 
} 

public String getItemsApi(int page) { 
    return "Items form page " + page; 
} 

を行う必要があり、あなたはどのように機能するかを理解せずにコピー/貼り付けコードを回避しようとしてください。あなたはここにいくつかの実用的な例とRxJava https://github.com/politrons/reactiveに関するいくつかのドキュメント