Tôi có hai hoạt động trong đơn đăng ký của mình. Trong Hoạt động A của tôi, tôi đang sử dụng một AsyncTask và Hoạt động thứ hai B cũng sử dụng một AsyncTask khác. Trong Hoạt động A của tôi, tôi đã tải lên một số dữ liệu cho máy chủ và trong Hoạt động B của tôi, tôi đang cố tải xuống một số dữ liệu khác từ máy chủ. Cả hai đều đang chạy trong AsyncTask. Vấn đề của tôi là khi tôi cố tải xuống dữ liệu từ máy chủ trong phương thức Activity B onPreExecute()
đã được gọi nhưng phương thức doInBackground()
không được gọi là đang đợi hành động đầu tiên của Hoạt động A doInBackground()
kết thúc. Tại sao nó xảy ra? Là nó có thể chạy nhiều hơn một hành động nền tại một thời ..Có thể chạy nhiều AsyncTask cùng một lúc không?
Trong Hoạt động Một
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
}
}
Trong Hoạt động B của tôi
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
}
}
làm thế nào để sử dụng thi hành di chúc .. xin vui lòng cho tôi biết .. – Amsheer
thể trùng lặp của - (http://stackoverflow.com/questions/ [Chạy nhiều AsyncTasks cùng lúc không thể?] 406 8984/chạy-nhiều-asynctasks-at-the-cùng-thời gian-không-có thể) - cung cấp một lời giải thích thực sự tốt –