Sto tentando di eseguire lo stesso Asynctask in modo sequenziale. Ad esempio, Supponiamo che ci sia un Asynctask A. Supponiamo ora A controlla se un server è occupato o meno. Se è occupato, controlla di nuovo .... E così via. Diciamo che controlla questo per 5 volte poi lascia che gli utenti sappiano che il servizio non è disponibile.
Quindi ovviamente è possibile utilizzare Asynctask.
Cercando di raggiungerlo con i loop può produrre risultato inaspettato come secondo questa link,
AsyncTask è un'istanza fire-and-forget e le istanze AsyncTask può essere utilizzato una sola volta..
Quindi il ciclo 5 volte significa che Asynctask verrà chiamato 5 volte. Ma se il server è gratuito al 2 ° tentativo, non ho bisogno di ulteriori controlli. Anche l'applicazione Android potrebbe bloccarsi (il mio). Correggimi se sbaglio su questo argomento
Eseguendo lo stesso Asynctask più volte in modo sequenziale
Anche la risposta è stata, "calling task like new MyAsyncTask().execute("");
"
Quindi, se faccio come questo - per esempio,
new someAsyncTask() {
@Override
protected void onPostExecute(String msg) {
new someAsyncTask() {
@Override
protected void onPostExecute(String msg) {
....and so on 5 times.
}
}.execute(this);
}
}.execute(this);
Dovrebbe essere chiamato 5 volte in sequenza e dovrebbe avvenire senza problemi.
È l'unico modo per eseguire questa o qualsiasi altra soluzione?
se uso AsyncTask anonima sarà questo lavoro? Intendo nell'esempio fornito nella domanda, ho implementato la classe asynctask in un'altra classe java. L'ho appena usato su un'altra classe. funzionerà qui? perché poi dovrei scrivere di nuovo "onPostExecute". –
Ho pubblicato un'alternativa che avrebbe funzionato per una classe autonoma. – tachyonflux
Ma sto usando Asynctask anonimo. e nella classe standalone onPostExecute non è stato sovrascritto. l'override è stata fatta in un'altra classe. L'esempio che hai fornito funzionerà se onPostExecute era in classe standalone. Funzionerà su Asynctask anonimo? –