Czy można uruchomić wiele AsyncTask w tym samym czasie?
Mam dwie aktywności w mojej aplikacji. W mojej aktywności A używam jednego AsyncTask i drugiego działania B również przy użyciu innego AsyncTask. W mojej aktywności A przesłałem niektóre dane na serwer, aw mojej aktywności B próbuję pobrać inne dane z serwera. Obie są uruchomione w AsyncTask. Moim problemem jest próba pobrania danych z serwera w działaniu BonPreExecute()
metoda została nazwana aledoInBackground()
metoda nie została wywołana, czeka na pierwszą aktywność AdoInBackground()
akcja zakończona. Dlaczego tak się stało? Czy jest możliwe jednoczesne uruchomienie więcej niż jednego działania w tle.
W działaniu A
ImageButton submit_button = (ImageButton) findViewById(R.id.submit_button);
submit_button.setOnClickListener(new OnClickListener()
{
public void onClick(View record_button)
{
new Save_data().execute();
}
});
class Save_data extends AsyncTask<String, Integer, Integer>
{
protected void onPreExecute()
{
}
protected Integer doInBackground(String... arg0)
{
//uploading data here
}
}
W mojej działalności B
ImageButton get_button = (ImageButton) findViewById(R.id.get_button);
get_button.setOnClickListener(new OnClickListener()
{
public void onClick(View record_button)
{
new download_process().execute();
}
});
class download_process extends AsyncTask<String, integer, integer>
{
protected void onPreExecute()
{
Log.e("pre-execute","has been called");//This Log works well
}
protected Integer doInBackground(String... arg0)
{
//downloading data here
}
}