从其他活动触发异步任务?

时间:2012-05-20 15:21:40

标签: java android android-asynctask android-activity

如何触发主要活动中另一个活动中包含的AsyncTasks?

public class DatabaseActivity extends Activity {
    private class DbReader extends AsyncTask<..> {
        @Override
        protected List<MyData> doInBackground(..) {
            //execute query etc
        }
    }

    private class DbSaver extends AsyncTask<..> {
        @Override
        protected void doInBackground(MyData data) {
            //save to dn
        }
    }

    private class DbRemover extends AsyncTask<..> {
        @Override
        protected void doInBackground(MyData data) {
            //remove in db
        }
    }
}

如何从MyApplication触发扩展Actitivy?

1 个答案:

答案 0 :(得分:1)

我认为你应该use seperate class where AsyncTask is alone.

当你的应用程序需要多个AsyncTask时,你应该使用单独的AsyncTask并调用它。

private class CommonTask extends AsyncTask<..> {
   public CommonTask(Foo foo){

       } 

        @Override
        protected void doInBackground(MyData data) {
            //remove in db
        }
    }

不,你可以为构造函数传递不同的值,并从Activity中检查你想要的数据保存或删除或其他任何东西......