Android 从活动中调用AsyncTask

Android 从活动中调用AsyncTask,android,asynchronous,Android,Asynchronous,对于这个代码片段(我已经排除了doInBackground()、postExecute()等) 从CheckServer活动调用异步任务时,如何传递Activity参数 public class CheckServer extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub

对于这个代码片段(我已经排除了
doInBackground()、postExecute()
等) 从CheckServer活动调用异步任务时,如何传递Activity参数

public class CheckServer  extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);


    HttpTicket ticket= new HttpTicket(); //HOW IS THIS LINE DONE? WHAT PARAM SHOULD BE PASSED?



    }

    @SuppressWarnings("unused")
    private class HttpTicket extends AsyncTask<String, String, String>
    {
        private Activity activity;
        private ProgressDialog dialog;

         public HttpTicket(Activity activity) {

            this.activity = activity;


        }
公共类CheckServer扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
HttpTicket ticket=new HttpTicket();//这行是如何完成的?应该传递什么参数?
}
@抑制警告(“未使用”)
私有类HttpTicket扩展异步任务
{
私人活动;
私人对话;
公共HttpTicket(活动){
这个。活动=活动;
}
在活动onCreate()中

定义异步任务如下

private class HttpTicket extends AsyncTask<String, String, String>
{
    private Activity activity;
    private ProgressDialog dialog;

     public HttpTicket(Activity activity) {

        this.activity = activity;
        dialog = new ProgressDialog(activity);
        dialog.setTitle("Wait...");
    }
   protected void onPreExecute()
   {
      dialog.show();
   }
   protected String doInBackground(String params)
   {  
      //background opearation

     return "string";
   }
   protected void onPostExecute(String result)
   {
       dialog.dismiss();
       //update ui
   }


  }
私有类HttpTicket扩展异步任务
{
私人活动;
私人对话;
公共HttpTicket(活动){
这个。活动=活动;
dialog=新建进度对话框(活动);
setTitle(“等待…”);
}
受保护的void onPreExecute()
{
dialog.show();
}
受保护的字符串doInBackground(字符串参数)
{  
//背景操作
返回“字符串”;
}
受保护的void onPostExecute(字符串结果)
{
dialog.dismise();
//更新用户界面
}
}
你可以这么做

HttpTicket mHttpTicket = new HttpTicket(this); 
mHttpTicket.execute(); 

还可以删除构造函数,并将其作为参数传递给OnPreExecute。然后在
execute(this);

创建构造函数HttpTicket(Activity)。HttpTicket ticket=new HttpTicket(Activity.this);ticket.execute();
HttpTicket mHttpTicket = new HttpTicket(this); 
mHttpTicket.execute();