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

Java 是否从其他活动触发异步任务?,java,android,android-asynctask,android-activity,Java,Android,Android Asynctask,Android Activity,如何从主活动中触发包含在另一个活动中的异步任务 public class DatabaseActivity extends Activity { private class DbReader extends AsyncTask<..> { @Override protected List<MyData> doInBackground(..) { //execute query etc }

如何从主活动中触发包含在另一个活动中的异步任务

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
        }
    }
}
公共类数据库活动扩展活动{
私有类DbReader扩展异步任务{
@凌驾
受保护列表背景(…){
//执行查询等
}
}
私有类DbSaver扩展异步任务{
@凌驾
受保护的void doInBackground(MyData数据){
//保存到dn
}
}
私有类DbRemover扩展异步任务{
@凌驾
受保护的void doInBackground(MyData数据){
//在数据库中删除
}
}
}

如何从MyApplication extends Activity触发?

我认为您应该
在AsyncTask单独存在的情况下使用单独的类。

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

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

       } 

        @Override
        protected void doInBackground(MyData data) {
            //remove in db
        }
    }
私有类CommonTask扩展了AsyncTask{
公共公共任务(Foo-Foo){
} 
@凌驾
受保护的void doInBackground(MyData数据){
//在数据库中删除
}
}

不,您可以为构造函数传递不同的值,并检查您希望从“活动”中获得的数据保存或删除或其他任何内容…

您真的需要将此AsycTasks放入此“活动”中吗?您是说不同的doInBackground方法采用不同的参数,然后只调用myTask.execute(参数)?如果是这样的话,我认为如果通过传递不同的参数得到不同的操作,那么在代码中会非常有用。例如传递字符串>保存;传递我的对象>移除;传递id>fetch.@membersound如果您感到困惑,请创建单独的类,如
savetask
removetask
…这是您最后的解决方案