android java中其他类中的AsyncTask错误
嗨,我试图在其他类中使用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;
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应用程序那样在控制台中运行和获取输出。开始学习基本知识: