• 0
DMS

Куча асинхронных потоков (Андроид)

Вопросы

Имеется Android-приложение, в нем пользователь должен заполнить анкету и отправить на сервер. Часть из полей вводится вручную, часть - выбирается из списка. Списки содержат значения, которые подгружаются из сервера.

Если загружать списки синхронно с сервера и заполнять затем Combobox-ы, то всё работает, но долго (5-7 списков). Поэтому возникла мысль отправлять асинхронные запросы (NetHTTPClient), чтобы они параллельно отработали и быстро заполнили списки, но насколько надежно это в Android-приложении?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ответа на этот вопрос

  • 0

Асинхронность работает надежно даже в андроид :)

Вопрос в другом - каким образом вы будете непосредственно заполнять комбобоксы загруженными списками. тут либо с использованием synchronize либо через внутренние списки в потоках (откуда главный поток по готовности сам заполняет комбобоксы)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

сценарий

1. пока не вернется последний запрос (или вылетит таймаут) работать нельзя. поэтому запускаем анимацию, контролы дизейблим

2. запускаем нужное количество потоков с запросами на каждый комбобокс

3. при возвращении потока мы уже в главном потоке (например через OnTerminate) а) заполняем структуру с данными или сам комбо б) проверяем все ли потоки  вернулись

если все вернулись  - приводим страницу в рабочее состояние

если произошел таймаут - говорим, что не удалось

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу