Java 在新类中实现AsyncTask

Java 在新类中实现AsyncTask,java,android,google-app-engine,android-asynctask,private-class,Java,Android,Google App Engine,Android Asynctask,Private Class,我正在尝试使用asynctask上传实体,就像Google的教程Mobile Assistant一样。当我在MainActivity中放入下面的代码时,它可以工作,但是如果我尝试在另一个活动中使用代码,在本例中是MakeDesire.java,它就不能工作。问题是 1新的DesireTask.执行。。。。。。。。。。DesireTask在下面划线,表示创建新类。 2 Eclipse不允许私有类DesireTask。。。。。单击本地类DesireTask的underline非法修饰符时;仅允许抽象

我正在尝试使用asynctask上传实体,就像Google的教程Mobile Assistant一样。当我在MainActivity中放入下面的代码时,它可以工作,但是如果我尝试在另一个活动中使用代码,在本例中是MakeDesire.java,它就不能工作。问题是

1新的DesireTask.执行。。。。。。。。。。DesireTask在下面划线,表示创建新类。 2 Eclipse不允许私有类DesireTask。。。。。单击本地类DesireTask的underline非法修饰符时;仅允许抽象或最终版本,但这在主要活动中有效

任何帮助都是值得的。提前谢谢

package com.google.samplesolutions.mobileassistant;

import java.io.IOException;



import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.samplesolutions.mobileassistant.desireendpoint.Desireendpoint;
import com.google.samplesolutions.mobileassistant.desireendpoint.model.Desire;


public class MakeDesire extends Activity{

private OnTouchListener sendexit = null;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sss);

    Button button1 = (Button) findViewById(R.id.button1);
    EditText kategori = (EditText) findViewById(R.id.editText1);
    final String ktgri = kategori.getText().toString();
    EditText mal =(EditText) findViewById(R.id.editText2);
    final String malstring = mal.getText().toString();
    final CheckBox alrm = (CheckBox) findViewById(R.id.checkBox1);

    sendexit = new OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event){
            if(event.getAction()== MotionEvent.ACTION_UP){
                new DesireTask().execute();
                finish();
                return true;
            }
            return false;
        }
};
button1.setOnTouchListener(sendexit);

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

    @Override
    protected Void doInBackground(Void... arg0) {
        Desire desire = new com.google.samplesolutions.mobileassistant.desireendpoint.model.Desire();

        desire.setCtgry(ktgri);
        desire.setGood(malstring);
        desire.setAlarm(alrm.isChecked());

        Desireendpoint.Builder builder = new Desireendpoint.Builder(AndroidHttp.newCompatibleTransport(), new JacksonFactory(), null);
         builder = CloudEndpointUtils.updateBuilder(builder);

         Desireendpoint endpoint = builder.build();

         try {
                endpoint.insertDesire(desire).execute();
              } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
              }

        return null;
    }
}
}
}

看起来您正在onCreate方法内部粘贴内部类。尝试剪切任务声明和正文,并将其粘贴到onCreate之外