J'ai implémenté les 2 tâches asynchrones, j'utilise android4.0. Lorsqu'un asyntask est exécuté en continu, le second est exécuté en fonction de l'exigence (peut être plusieurs fois). Par exemple.exécuter la tâche asynchrone dans l'ordre série dans android4.0
class AsynTask1 exetends AsyncTask<Void, Bitmap, Void>{
protected Void doInBackground(Void... params) {
while(true){
publishProgress(bmp);
}
}
}
class AsynTask2 extends AsyncTask<String, Void,Void>{
protected Void doInBackground(String... params){
System.out.println(params[0])
}
}
Dans la classe d'activité
class MainActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new AsynTask1().execute();
int i=0;
while(i<100)
{
if(i%2==0)
new AsynTask2().execute("no is even"+i);
i++
}
}
}
Dans le cas au-dessus du AsynTask2 n'est pas exécutée.
Si essayé avec executeOnExecutor (AsyncTask.THREAD_POOL_Executor, params), alors les deux asyntask sont exécutés et j'obtiens les messages d'impression de l'AsynTask2, mais ceux-ci ne sont pas dans l'ordre (comme 0 2 6 4 10 8 12 14 .. ..).
Y a-t-il un moyen d'exécuter AsynTask1 en continu et AsynTask2 dans l'ordre séquentiel afin que l'ordre (comme 0 2 4 6 8 10 12 14 ....) soit empêché.
Merci & Cordialement mini.
J'ai essayé avec ceci, mais le AsyncTask2 n'est pas exécuté de sorte que je ne reçois pas les messages de l'AsynTask2. ThreadPool est-il identique pour tous les asyntasks? – mini
avez-vous fait cela uniquement pour Asynctask2 ou même pour asynctask1? – nandeesh
J'ai essayé ceci pour les deux AsynTasks, plus tard j'ai essayé seulement AsynTask2. – mini