Slide 5
Slide 5 text
5
AsyncTask
●
API Androida może zająć się zarządzaniem wątkami, pozostawiając nam
implementację logiki i jednokrotne wykonanie metody execute([1])
zadania
●
musimy stworzyć własną klasę rozszerzającą AsyncTask<[1], [2], [3]> i
przesłonić potrzebne nam metody
onPreExecute() // inicjalizacja, UI
[3] doInBackground([1]) // glowne przetwarzanie, metoda wymagana
onProgressUpdate([2]) // aktualizacja postepu, UI
onPostExecute([3]) // przekazanie wynikow, UI
● AsyncTask może być uruchomiony tylko jeden raz, aktualizacji postępu
dokonujemy dzięki metodzie publishProgress([2])
●
możemy też anulować zadanie wywołując metodę cancel(boolean) i
sprawdzać cyklicznie czy nie nastąpiło anulowanie za pomocą metody
isCancelled()
●
w przypadku anulowania, zamiast onPostExecute(Object) zostanie
wywołana metoda onCancelled(Object)