Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 443
#1

Retrofi 2 как получить результат параллельных запросов - Программирование Android

22.11.2016, 14:17. Просмотров 200. Ответов 2
Метки нет (Все метки)

Все привет. Вот над чем я задумался. Допустим, я делаю три одинаковых запроса подряд на загрузку, к примеру, картинки в base. Затем мне нужно записать результаты в массив, но вот какая штука, запросы стартанули по очереди, одновременно, ну или с совсем небольшим интервалом, в секунду, но завершится они могут по разному, не факт что первый запрос вернет картинку быстрее, а нужно чтобы по итогу в массиве оказалось 3 картинки в нужном порядке (в порядке старта запросов). Так вот как бы это реализовать грамотно, я в подсознании понимаю что должно быть не сложно, но что-то туплю.
http://www.cyberforum.ru/android-dev/thread1325778.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2016, 14:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Retrofi 2 как получить результат параллельных запросов (Программирование Android):

Получить результат от стороннего приложения
Доброе время суток. Вызываю сторонний редактор из своей активности так: ...

Отправить post запрос с параметрами на сайт и получить результат
Всем привет! Делаю проект для сайта школы. Нужно отправить post запрос с...

Работа с сетью в другом потоке. Нужно получить результат
class AnotherThread extends Thread { @Override public void...

Как объединить результат двух запросов
Всем доброго времени суток. Есть два запроса в пакете. Никак не соображу, как...

Как вывести результат 2 запросов в 1 файл
В общем есть два запроса, при нажатии кнопки один выгружает результаты запроса...

2
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
22.11.2016, 19:33 #2
судя по всему у вас должно быть что то такое:
Java
1
2
3
4
5
6
7
8
9
10
11
12
call.enqueue(new Callback<User>() {  
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
        if (response.isSuccessful()) {
        } else {
         
        }
    }
 
    @Override
    public void onFailure(Call<User> call, Throwable t) {
    }
отследить очередность не получится, например ответ на второй запрос может быть получен раньше чем на первый. то что можно сделать это отсылать запросы поочередно, пришел первый - отослали второй - и тд.(при чем при нормальном интернете время получения таким образом(поочередно) не будет больше чем параллельно отправленные запросы), но в таком случае нужно предусмотреть варриан что делать если по каким то причинам предыдущая картинка не пришла. делать это все нужно в onResponse
или же делать чтоб картинки лежали в одном API и получать их одним запросом.
1
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
22.11.2016, 20:07 #3
свой Callback написать, наследоваться от ретрофитовского
и там поле сделать int pos;

после того как он отработал - брать поле и писать в массив в позицию pos
PROFIT
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2016, 20:07
Привет! Вот еще темы с решениями:

Как получить такой результат? Результат на Картинке
Как сделать так чтобы лого было по середине, а текст по бокам....все как на...

Как получить список запросов Oracle?
Скажите, можно ли запросом получить: список всех запросов список всех...

Как получить список выполняемых запросов?
Привет. Поддскажите. Как получить список выполняемых запросов, спасибо

Как получить лог SQL-запросов приложения?
Дано: ----- чужой код (приложение работает с БД ORACLE) Требуется:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru