Pracuję więc nad dekoderem kodu kreskowego, który, gdy już mamy kod kreskowy, idzie na wielokrotność API przez Internet, aby rozszyfrować to, co właśnie zostało zeskanowane. Chodzi o to, że muszę połączyć trochę przetwarzania XML i nie wiem, czy robię to dobrze.Android AsyncTask wewnątrz AsyncTask
Po zeskanowaniu kodu kreskowego mój program wywołuje funkcję ASyncTask, która przechodzi przez interfejs API w celu pobrania nazwy produktu. Gdy już ma nazwę, chcę ją wywołać inną ASyncTask. Wiem, że jest to możliwe przez utworzenie wystąpienia ASyncTaks w onPostExecute()
innych, ale myślę, że to jest złe, ponieważ jest jak pola w pudełkach. Więc nie jest możliwe/lepiej utworzyć mój drugi ASyncTask w mojej głównej Działalności i sprawić, że poczeka aż moja pierwsza ASyncTask zostanie zakończona?
(angielski nie jest moim podstawowym językiem, mam nadzieję, że wyraziłem się jasno).
Jaki jest powód używania 2 zadań? dlaczego nie robić tego, co chcesz w pierwszych zadaniach doInBackground? – Renard
Nie powinniśmy żartować z własnego języka (angielskiego), ponieważ może to nie być jego główny język. – waqaslam
@Renard wydaje się zbyt brudny, aby pozwolić wszystkim na doInBackground. Moja pierwsza funkcja ASyncTask może zwracać różne wyniki, które muszą najpierw zostać przetworzone, a następnie, zgodnie z wynikiem, wykonać kilka dalszych analiz. Tak więc uruchamianie innych funkcji ASyncTask pozwala mi dzielić kod na wiele stron i uczynić go bardziej zrozumiałym. – MagicMicky