Я очень новичок в Android и мне нужна помощь, пожалуйста.
Мне нужно, чтобы рестораны находились рядом с пользователем, и отображали их информацию в виде переработчика.
Поэтому я использую Places api: рядом и детали.
У меня есть два запроса, один из которых выбирает один список ресторанов рядом с пользователем (я получаю один объект, который содержит список объектов ресторанов, я сохраняю их в массиве объектов ресторанов)
И тот, который извлекает информацию о каждом ресторане, найденном по первому запросу (для работы нужен идентификатор места, найденный по первому запросу).
Проблема в том, что запросы не выполняются в хорошем порядке, поэтому мое представление переработчика не отображается должным образом.
Я, вероятно, должен связать свои запросы, чтобы иметь только один?
Я провел некоторое исследование, но не могу найти, как это сделать, потому что мне нужно сделать второй запрос для каждого ресторана, найденного в первом запросе.
Вот мои потоки
Как мне создать один поток с ними?
private static PlacesService placesService = PlacesService.retrofit.create(PlacesService.class);
public static Observable<RestaurantObject> streamFetchRestaurants(String latitudeLongitude, int radius, String type, String apiKey) {
return placesService.getRestaurants(latitudeLongitude,radius,type, apiKey)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.timeout(10, TimeUnit.SECONDS);
}
public static Observable<RestaurantInformationObject> streamFetchRestaurantInfos(String id, String apikey) {
return placesService.getRestaurantInfo(id, apikey)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.timeout(10, TimeUnit.SECONDS);
}