Прочил про RxJava - пишут волшебная штука. Сейчас совершенно непонятно как она работает и зачем - хотя пересмотрел кучу примеров и статей. Так например зачем map, flatmap если все эти преобразования можно сделать в сабскрайбере? И вот в этом примере есть список твитов (Retrofit)- как мне их преобразовывать если в примерах идет Observable.just(1, 2, 3) т.е. в том же .filter на вход приходят 1 потом 2 и 3, а в моем случае сразу приходит список List? т.е. мне его нужно обрабатывать самостоятельно в цикле ? опять же могу уже в блоке subscribe сделать фильтр
Спасибо.
// @GET("/tweet/?android")
// public Observable<List<Tweet>> getTweetRx(); - получаю список твитов (название, текст)
api
.getTweetRx()
.subscribeOn(Schedulers.newThread()) //отдаем новый тред для работы в background
.observeOn(AndroidSchedulers.mainThread()) //говорим, что обсервить хотим в main thread
.subscribe(new Action1<List<Tweet>>() {
@Override
public void call(List<Tweet> tweets) {
Log.d("!!!!", tweets.get(0).getName());
final ListView myList = (ListView) findViewById(R.id.tweet_list);
myList.setAdapter(new MyListAdapter(tweets, MainActivity.this));
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
Log.d("!!!ERROR", "" + throwable);
}
});
UPD: по flatMap нашел тут
stackoverflow.com/questions/21890338/when-should-o...