Я очень новичок в 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);
}