Клининговые услуги07.09.2017Запуск метода onProgressUpdate() Нам известно, что метод doInBackground() может потребовать некоторого времени на свое завершение. Вполне логично рассчитывать, что этот метод будет часто сообщать о том, сколько работы уже сделано. Таким образом, метод doInBackground() также отвечает за запуск onProgressUpdate() путем вызова метода publishProgress (). Инициированный метод onProgressUpdate() затем выполняется в главном потоке. Это позволяет ему соответствующим образом обновлять элементы пользовательского интерфейса, такие как представления. Также можно отправлять сообщения в Toast. В листинге 18.4 мы просто выводим сообщение в журнал. После того как вся работа сделана, производится возврат из метода doInBackground() с результирующим кодом. Возможно вам понадобятся клининговые услуги. Метод onPostExecute() Затем результирующий код, возвращаемый из метода doInBackground(), передается методу обратного вызова onPostExecute(). Данный обратный вызов также выполняется в главном потоке. В этом методе мы сообщаем диалоговому окну с ходом работы о необходимости закрытия. Поскольку все происходит в главном потоке, можно обращаться ко всем элементам пользовательского интерфейса без каких-либо ограничений. На этом рассмотрение использования AsyncTask завершено.
|
|
|