У меня есть активность. Назовите его как действие A. Нажатие на кнопку в этом действии отправляет данные на сервер (метод POST), а также запускает действие B.Android - Уменьшите код в OnCreate, чтобы избежать черного экрана
Поскольку перед отправкой данных на сервер из Activity A есть некоторые вычисления, я выполнил задачу отправки данных на сервер в качестве задачи Async.
В операции B в методе OnCreate есть запрос GET, который запускается. Поэтому в результате запуска Activity B этот запрос GET запускается. После получения данных с сервера я загружаю данные в виде списка. Все это в методе OnCreate. Опять же, я выполнил этот запрос GET как задачу async.
Кроме того, метод POST в действии A и метод GET в действии B взаимосвязаны.
Проблема, с которой я сталкиваюсь, - это когда я нажимаю кнопку в действии А, экран становится черным и появляется через 10 секунд (действие В). Я выполнил индикатор выполнения в Activity B и сделал его появляться до получения ответа от сервера. Но это совсем не так. Все, что я получаю, - это внезапное заполнение списка.
Хотите знать, почему это выглядит как задача является асинхронной задачей в деятельности А и В
Activity B
onCreate method
{
display progress bar
asynctask to fetch data
while(data not fetched){
// loop through until you get data
}
populate list view
}
Может ли один пожалуйста, дайте мне знать, где я неправильно. Это минимальный код, который должен быть в методе oncreate. Кроме того, поскольку это одноразовое мероприятие, я не хочу реализовывать его как службу. Кроме того, я не хочу идти с заставкой. Все, что я хочу, это индикатор выполнения, который отображается, пока я не получу данные с сервера. Пожалуйста, помогите, чтобы избежать этого черного экрана при переходе от А к деятельности активности В.
Благодаря
while (данные не выбраны) {? действительно ? в чем смысл асинтезы, если вы просто стоите там, ожидая ее завершения? – njzk2
Если данные недоступны, просмотр списка не будет заполнен. поэтому мне нужно подождать, пока не будет заполнен список. Любые предложения, как избежать этого сценария. Спасибо –
вот что такое onPostExecute для. для выполнения материала после завершения задачи – njzk2