Вот ответы:
1) Для параллельных запросов вы должны использовать Observable.zip, например так:
Observable<Boolean> obs = Observable.zip(
client.getCategories(),
client.getPosts(),
(categoriesList, postsList) -> {
// you have here both categories and lists
// write any code you like, for example inserting to db
return true;
});
Здесь у вас есть параметры (categoryList,postsList) каждого из его типов, List и List.
2) Вы должны поместить свой код там, где я указал в комментариях.Убедитесь, что вы правильно указали тему
3) Загрузка изображений также может быть выполнена там.Вы можете использовать еще одну zip
в функции, сочетающей параллельную загрузку изображений, вставки в БД и т. Д. Все они должны быть наблюдаемыми в сочетании с zip.
В zip
вы можете объединить столько наблюдаемых, сколько пожелаете, их результаты будут доступны в виде параметров функции объединения.