Führen Sie die asynchrone Task in der seriellen Reihenfolge in Android 4.0 aus
Ich habe die 2 Asyn-Tasks implementiert, ich verwende Android 4.0. Wenn eine Asyntask kontinuierlich ausgeführt wird, wird die zweite je nach Anforderung ausgeführt (kann mehrere Male sein). Zum Beispiel.
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])
}
}
In der Aktivitätsklasse
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++
}
}
}
In dem obigen Fall wird die AsynTask2 nicht ausgeführt.
Wenn mit executeOnExecutor (AsyncTask.THREAD_POOL_Executor, params) versucht wird, werden beide asyntask ausgeführt und ich erhalte die Drucknachrichten von AsynTask2, aber diese sind nicht in Ordnung (wie 0 2 6 4 10 8 12 14 ....).
Gibt es eine Möglichkeit, AsynTask1 kontinuierlich und AsynTask2 in sequentieller Reihenfolge auszuführen, so dass die Reihenfolge (wie 0 2 4 6 8 10 12 14 ....) verhindert wird?
Danke & Gruß mini.