#java #android
#java #Android
Вопрос:
Каков был бы наилучший способ использовать диалоговое окно выполнения в следующих обстоятельствах..
//start progress dialog here.
RequestInfoFormServer();
ProcessThatInfo();
return;
Ответ №1:
Вы должны использовать, если вы еще не используете, AsyncTask
для выполнения всех длительных задач в фоновом режиме.
Вы также можете использовать службу для обработки всех ваших интернет-ресурсов, если планируете выполнять много действий в Интернете.
1) Создайте Progress Dialog
с
ProgressDialog progressDiaog = new ProgressDialog();
изучите этот конструктор и методы для дополнительной настройки
Для лучшего пользовательского интерфейса, если вы настроили для диалогового окна возможность отмены, вам также следует отменить сетевую активность, если диалоговое окно отменено.
2) Создайте AsyncTask
. в его onPreExecute()
методе используйте следующее, чтобы отобразить диалоговое окно выполнения:
progressDialog.show();
3) В doInBackground()
выполните все свои веб-работы:
RequestInfoFormServer();
ProcessThatInfo(); //I hope this doesn't have to do with the UI
return;
4) Затем в onPostExecute()
— сделайте все, что нужно сделать в пользовательском интерфейсе
— закройте диалоговое окно выполнения с помощью progressDialog.cancel()
, если вам не нужно снова показывать то же диалоговое окно.
Вернитесь, если вы столкнетесь с какой-либо другой проблемой.
Комментарии:
1. Ошеломляющий ответ. Я решил убрать весь беспорядок из своего ответа и предоставить дополнительную информацию. сейчас собираюсь отредактировать.