android java中其他类中的AsyncTask错误

android java中其他类中的AsyncTask错误,java,android,android-asynctask,Java,Android,Android Asynctask,嗨,我试图在其他类中使用asynctask,但当我调用它时,它不起作用 这是我的密码 package com.examplee.test; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.widget.Toast;

嗨,我试图在其他类中使用asynctask,但当我调用它时,它不起作用

这是我的密码

package com.examplee.test;

    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.os.AsyncTask;
    import android.widget.Toast;

    public class test extends Activity {

        public static void main(String[] args) {

            new ProgressTask(test.this).execute();  // THIS IS ERROR CANNOT USE THIS IN STATIC CONTEXT and when i change static thing class doesn't work anymore


        }

        private class ProgressTask extends AsyncTask<String, Void, Boolean> {
            private ProgressDialog dialog;

            public ProgressTask(test mainActivity) {
                context = mainActivity;
                dialog = new ProgressDialog(context);
            }

            private Context context;

            protected void onPreExecute() {
                this.dialog.setMessage("Please Wait For Some Time...");
                this.dialog.setCancelable(false);
                this.dialog.setTitle("Please Wait...");
                this.dialog.setIcon(R.drawable.ic_launcher);
                this.dialog.show();
            }

                @Override
            protected void onPostExecute(final Boolean success) {

                    if (dialog.isShowing()) {
                    dialog.dismiss();
                }

                    if (success) {
                        Toast.makeText(context, "Done", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(context, "Some Error", Toast.LENGTH_LONG).show();
                    }

            }

            protected Boolean doInBackground(final String... args) {

                // My Work i have to perform

                return null; 


              }
        }

    }
有人能纠正这个代码吗? 即使我尝试更改progresstask.execute上的所有内容,也没有任何效果:

如果有人能抽出时间帮我解决问题,我将不胜感激:

这条线是我需要留在课堂上学习的


publicstaticvoidmainstring[]args

这不是在android中启动应用程序的正确方法。在Java中,您将使用

public static void main(String[] args) {
但在android中,它从onCreate方法开始活动

查看活动生命周期:

所以,应该是这样

public class Test extends Activity {

     @Override
    protected void onCreate(Bundle saveInstance)
    {
       // This onCreate method will be called first when activity starts
       super.onCreate(saveInstance);
      new ProgressTask(test.this).execute();
    }

   class ProgressTask extends AsyncTask<Void,Void,Void>
   {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Void doInBackground(Void... voids) {
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
     }
    }
   }

以上只是一个模板。您需要根据您的需要进行更改。

我觉得这门课并不是一成不变的。。。如何启动此活动?您正在尝试在Android中运行一个主方法。请参考Android开发者文档,我更改了主题,我是指任何不能执行新ProgressTasktest.this.execute的类;它可以在MainActivity中执行,而无需任何problem@eduyayo公共静态无效字符串[]args{这是运行类所必需的,我不能更改这一行主线对不起,我不是java方面的专家,只是初学者需要代码帮助是的,@radiotic,我因此否决了这个问题。你不能在android运行时之外运行android运行时。你可以使用单元测试框架,但不能使用简单的main@radioactive什么意思?您需要在emulator或real device中运行程序。这不像java应用程序那样在控制台中运行和获取输出。开始学习基本知识: