AsyncTask problem

0

Witam,
Chciałbym się dowiedzieć jak zrobić takową rzecz, czyli wykonuje AsyncTask gdy ten się zakończy dopiero wtedy wykonuje się następny,
Może jest jakiś inny sposób na to?, w głównym programie mam AsyncTask do HTTP.
Lecz wyskakuje mi błąd co chwilę, i z tego co widzę wywołują się oba na raz, zamiast jeden za drugim.

Chciałbym zrobić takową rzecz.
Wywołuje funkcję HTTP,
odczekuje pewien czas
Wykonuje ponownie funkcję HTTP
Przetwarzam dane i robię dalszą cześć programu.

Pozdrawiam

0

Ogólnie jeżeli chcesz co jakiś czas wykonywać w osobnym wątku to możesz użyć do tego klasy ExecutorService.
np. tak:

   ExecutorService executor = Executors.newScheduledSingleThreadExecutor(); //<-- piszę z pamięci, więc nazwa może być odrobinę inna
   executor.scheduleAtFixedRate(new Runnable() {}, 1000 /*po jakim czasie pierwsze wywołanie*/, /*co jaki czas następne*/ 3000,   /*jednostka czasu: dni, sekundy    itd.*/TimeUnit.SECONDS);

0

co jakiś czas ale dopiero po akcji użytkownika, np naciśnięcie buttonu etc.
To oczywiście przyda mi się na inną rzecz lecz aktualnie to nie pomoże do tego problemu

0

Więc nie ma problemu. Metodę scheduleAtFixedRate wywołujesz po naciśnięciu przycisku. Metodę shutdown jak chcesz zatrzymać.
Link do klasy: http://developer.android.com/reference/java/util/concurrent/ScheduledExecutorService.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1