wykonać zadanie asynchroniczne w porządku seryjnym w android4.0
Zaimplementowałem 2 zadania asyn, używam android4.0. gdzie jeden asyntask jest wykonywany w sposób ciągły, drugi jest wykonywany w oparciu o wymagania (mogą to być czasy mulitpe). Na przykład.
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])
}
}
W klasie aktywności
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++
}
}
}
W powyższym przypadku AsynTask2 nie jest wykonywany.
Jeśli próbowałem z executeOnExecutor (AsyncTask.THREAD_POOL_Executor, params), to oba asyntask są wykonywane i otrzymuję komunikaty drukowania z AsynTask2, ale nie są one w porządku (jak 0 2 6 4 10 8 12 14 ....).
Czy istnieje sposób na ciągłe wykonywanie AsynTask1 i AsynTask2 w kolejności sekwencyjnej, aby uniemożliwić zamówienie (np. 0 2 4 6 8 10 12 14 ....).
Dzięki i pozdrawiam mini.