У меня есть сценарий, где мне нужно будет сделать шесть http-вызовов на моем сервере, чтобы получить данные для шести разных элементов. Эти серверные вызовы не могут быть объединены, и они должны быть такими. Например: если вам нужна информация котировки для GOOGLE, отправьте запрос на сервер, запрашивающий информацию о котировке google. Затем, если вам нужна yahoo, тогда вы инициируете другой HTTP-вызов и так далее.
Вот ситуация:
- Теперь мой конечный пользователь хочет сравнить 6 разных компаний.
- Как я уже говорил, для меня не удалось сделать 6 http-звонков, для которых я использую 6 Async Tasks.
- По мере того как я получаю каждый из ответов задачи Async, я обновляю пользовательский интерфейс новыми данными.
- Плохой пользовательский интерфейс, если я обновляю UI 6 раз за очень короткий промежуток времени.
- Он дает мерцающий эффект для моего пользовательского интерфейса, который нежелателен.
Мой вопрос:
- Как я могу удержаться от обновления пользовательского интерфейса, пока не получу все ответы на 6 ответов Async?
- Я понимаю, что каждая задача не зависит друг от друга. Должен ли я запускать цикл while и ждать, пока не получу все ответы?
- Есть ли лучший способ сделать это, а не цикл while, потому что, если какой-либо из вызовов не отвечает, я буду ждать всегда.
Примечание. Я предполагаю, что Android 1.6+ выполняет параллельные задачи Async.
Это больше вопрос дизайна, и я был бы признателен за любую помощь в этом.
Заранее спасибо