Как мне обработать этот запрос GET в Android? (Java запрос GET) - PullRequest
0 голосов
/ 30 мая 2020

Я отказываюсь от API и пытаюсь сделать запрос GET в Android. Я использую TimerTask, чтобы запланировать выполнение запроса каждые 3 секунды. Для меня важно получать своевременные обновления из этого запроса на получение

Если я установлю слишком низкий интервал для TimeTask, около 1-2 секунд, сервер вернет ошибку 427. Я предполагаю, что это связано с тем, что для обработки запроса на получение требуется некоторое время, и когда запрос даже не завершен, приложение пытается сделать другой запрос на получение. Таким образом, сервер разрешает только один запрос за раз, и между запросами должна быть задержка.

Я могу сделать так, чтобы задержка TimerTask была задержкой, которую я установил + количество времени, необходимое для запроса на полный? Или временная задача запускает задержку только после завершения запроса?

Это может не обязательно быть временной задачей, которую я должен использовать. Было бы замечательно любое другое решение.

Я использовал OkHttp, который предоставляет обработчик завершения для запроса. Позже я переключился на использование чистого метода java HTTPUrlConnection.

Например, если я делаю запрос GET, и его выполнение занимает 700 мс, я хочу, чтобы задержка задачи таймера 3000 запускалась только тогда, когда запрос Complete.

Я подумал об использовании бесконечного while l oop и установке переменной, когда запрос завершен, и делать следующий запрос только после ожидания установленной задержки после завершения запроса. Это не сработало так хорошо на Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...