我的应用程序中有两个活动。在我的活动 A 中,我使用了一个 AsyncTask,而第二个活动 B 也使用了另一个 AsyncTask。在我的活动 A 中,我将一些数据上传到服务器,在我的活动 B 中,我试图从服务器下载一些其他数据。这两个都在 AsyncTask 中运行。我的问题是,当我尝试从服务器下载数据时,调用了 Activity BonPreExecute()
方法doInBackground()
但未调用方法,它正在等待第一个 Activity A 的doInBackground()
操作完成。为什么会这样?是否可以同时运行多个后台操作..
在活动 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
}
}
在我的活动 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
}
}