/ / android asynctask призводить до іншої діяльності - android, android-activity, android-asynctask

андроїд асинтекаска призводить до іншої активності - android, android-activity, android-asynctask

У мене є Діяльність А і AsyncTask, який робить деякі обчисленняі зберігає дані в базі даних. Ці операції займають близько 3-5 секунд. AsyncTask викликається після натискання кнопки "Зберегти" і починається нова активність B (ця діяльність B не важлива). Є також Діяльність С, що завантажує дані, які я зберігав із діяльності Аі AsyncTask. І ось моя проблема - якщо я запускаю Activity C і AsyncTask ще не закінчив зберігати дані, я хочу показати анімацію завантаження, поки AsyncTask не закінчиться і дані не зможуть завантажуватися в активність.

У мене є бачення AsyncTask в методіonPostExecute змінить глобальну змінну "boolean ready = true", і після запуску Activity C я періодично перевіряю, чи відповідає змінна true. Але я думаю, що це не вірний шлях. Отже, який правильний шлях? Дякую

Відповіді:

0 для відповіді № 1

Що ви можете зробити в Activity C, це перевірити базу даних onResume чи очікуваний результат вже є чині. Якщо це там, просто покажіть свій результат. Якщо його немає, покажіть значок завантаження та зареєструйте приймач широкомовної програми, який слухає певну подію.

В onPostExecute з AsyncTask ви можете, ніж трансляцію конкретної події. Коли активність C отримує цю подію, вона може просто повторно перевірити базу даних, де зараз буде результат.