相关疑难解决方法(0)

在android4.0中按顺序执行异步任务

我已经实现了2个asyn任务,我使用的是android4.0.其中一个asyntask连续执行,第二个根据需求执行(可能是多个时间).例如.

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])
    }
}
Run Code Online (Sandbox Code Playgroud)

在活动课上

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++
        }
    }
}     
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,不执行AsynTask2.

如果尝试使用executeOnExecutor(AsyncTask.THREAD_POOL_Executor,params),则执行asyntask并从AsynTask2获取打印消息,但这些消息不是按顺序排列的(如0 2 6 4 10 8 12 14 ....).

有没有办法连续执行AsynTask1和顺序顺序的AsynTask2,以防止顺序(如0 2 4 6 8 10 12 14 ....).

谢谢和问候迷你.

concurrency android android-asynctask

6
推荐指数
1
解决办法
1万
查看次数

在android中一次运行多个服务

我正在开发一个带有多个标签的android应用程序.我的标签有以下内容.

第一个选项卡 - 它在网格视图中显示杂志的存档.目的是当我点击网格视图项时,我需要从网站下载一个大文件.为此,我创建了一个具有ASYNC任务的服务,该任务将下载该文件.我已经展示了代码.

 public class DownloadArchivesService extends BaseService {
private static final String TAG = "DownloadArchivesServices";
private static final String STOP = "stop_modificator";
public static final String ALREADY_RUNNING= "DownloadArchivesService_Already_Running";
public  static final String ARCHIVES_PERCENTAGE_PROGRESS ="Archives_Percentage_Progress";
public  static final String UPDATE_ARCHIVES_PROGRESS = "Update_Archives_Progress";

 @Override
public void onCreate() {
            getPreferences().edit().putBoolean(ALREADY_RUNNING,   true).commit();
    application = (JfwApplication)this.getApplicationContext();
    context = this;
    session = application.getSession();
    calendar = Calendar.getInstance();
    dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
    magazineManager = new MagazineManager(this);

    //magazine = new Magazine(fileName, fileName, "", "", this);


    new AsyncTask<String, …
Run Code Online (Sandbox Code Playgroud)

service android

2
推荐指数
1
解决办法
7870
查看次数

标签 统计

android ×2

android-asynctask ×1

concurrency ×1

service ×1