Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 异步任务实现问题_Java_Android_Http_Post_Android Asynctask - Fatal编程技术网

Java 异步任务实现问题

Java 异步任务实现问题,java,android,http,post,android-asynctask,Java,Android,Http,Post,Android Asynctask,我不知道我做错了什么,但是在合并了来自两个不同文件的源代码之后,我在编译下面的代码时遇到了一些问题。任何关于是什么导致这些问题的建议(作为学习经验)以及如果不是太复杂的话,请提供解决方法 (提前感谢!) 爪哇: 我认为您在异步任务结束时(在onCreate之前)忘记了一个“}”从我看到这是您的问题: 每个名称值对。添加(新的基本名称值对(…,…);需要额外的) 您缺少一个}来结束AsyncTask的作用域,实际上我认为您也缺少2个来结束内部类(否则您就有重复的onCreate方法) 您的MyAs

我不知道我做错了什么,但是在合并了来自两个不同文件的源代码之后,我在编译下面的代码时遇到了一些问题。任何关于是什么导致这些问题的建议(作为学习经验)以及如果不是太复杂的话,请提供解决方法

(提前感谢!)

爪哇:


我认为您在异步任务结束时(在onCreate之前)忘记了一个“}”

从我看到这是您的问题:

  • 每个
    名称值对。添加(新的基本名称值对(…,…);
    需要额外的
  • 您缺少一个
    }
    来结束
    AsyncTask
    的作用域,实际上我认为您也缺少2个来结束内部类(否则您就有重复的
    onCreate
    方法)
  • 您的
    MyAsyncTask
    类有一个
    public
    修饰符。移除它
  • 您的
    doInBackground
    方法应该返回一个
    Double
    而不是
    对象
  • 您的
    AsyncTask
    现在被称为
    AddEditCountry
    ,它与外部类相同。这是不可能的。更改其中一个名称
  • 您的
    AsyncTask
    类正在
    onClick(视图v)
    方法中定义。将类移出方法。(
  • 您不能在
    btn.setOnClickListener(this)中使用
    this
    OnClickListener
    ,而您的类不是。您可以通过创建一个新的
    OnClickListener
    来解决这个问题,它实现了onClick方法并将其作为参数传递。(就像您使用“保存”按钮所做的那样)
  • 我不明白你为什么有一个内部活动课。我建议您重新考虑是否真的需要该内部活动,或者您只需要
    AddEditCountry
    DeviceConfig
    中的方法/功能,或者它们应该放在两个不同的文件中


    编辑:列出了更多问题。

    为什么有内部类
    DeviceConfig
    活动?导入导入com.nfc.linkingmanager.DeviceConfig.MyAsyncTask;删除它将asynctask类移到方法之外。检查返回类型doInBackground().1。我用你描述的方法更新了源代码!事情看起来好多了!(我也更新了上面的问题日志-我还有一些问题)2。我纠正了}个问题(谢谢!)我还有4个bug/问题,你知道这些可能是什么吗?1。我加了第二个)2。我相信我也纠正了这些问题(不再出现在问题日志中)3。删除了公共修饰符4。从Object更改为Double 5。我相信我也纠正了这一点。我编辑了这个,但我认为它有问题。删除了btn.setOnClickListener(此);[不确定在此添加或执行什么操作]
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.ViewGroup;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.FrameLayout;
    import android.widget.ProgressBar;
    import android.widget.TimePicker;
    import android.widget.Toast;
    
    import java.io.IOException;
    import java.text.DecimalFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    
    import android.app.Activity;
    import android.opengl.Visibility;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ProgressBar;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    
    
    public class AddEditCountry extends Activity {
    
         private long rowID; 
         private EditText nameEt;
         private EditText capEt;
         private EditText codeEt;
         private TimePicker timeEt;
    
    
                private EditText value;
                private Button btn;
                private ProgressBar pb;
                @Override
                public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.deviceconfig);
                    value=(EditText)findViewById(R.id.editText1);
                    btn=(Button)findViewById(R.id.button1);
                    pb=(ProgressBar)findViewById(R.id.progressBar1);
                    pb.setVisibility(View.GONE);
                    nameEt = (EditText) findViewById(R.id.nameEdit);
                      capEt = (EditText) findViewById(R.id.capEdit);
                      codeEt = (EditText) findViewById(R.id.codeEdit);
                      timeEt = (TimePicker) findViewById(R.id.timeEdit);
    
    
    
    
                      Bundle extras = getIntent().getExtras(); 
    
                      if (extras != null)
                      {
                         rowID = extras.getLong("row_id");
                         nameEt.setText(extras.getString("name"));  
                         capEt.setText(extras.getString("cap"));  
                         codeEt.setText(extras.getString("code"));    
                         String time = extras.getString("time");
                         String[] parts = time.split(":");
                         timeEt.setCurrentHour(Integer.valueOf(parts[0]));
                         timeEt.setCurrentMinute(Integer.valueOf(parts[1]));
                         timeEt.setIs24HourView(false);
                         DecimalFormat df =   new DecimalFormat  ("00");
                         String minutes = df.format(min);
                }
                }
    
                @Override
                public boolean onCreateOptionsMenu(Menu menu) {
                    getMenuInflater().inflate(R.menu.main, menu);
                    return true;
                }
    
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                            pb.setVisibility(View.VISIBLE);
                            (value.getText().toString());       
                        }{
    
    
                new MyAsyncTask().execute
    
                 class AddEditCountry extends AsyncTask<String, Integer, Double>{
    
                    @Override
                    protected Double doInBackground(String... params) {
                        // TODO Auto-generated method stub
                        postData(params[0]);
                        return null;
                    }
    
                    protected void onPostExecute(Double result){
                        pb.setVisibility(View.GONE);
                        Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
                    }
                    protected void onProgressUpdate(Integer... progress){
                        pb.setProgress(progress[0]);
                    }
    
                    public void postData(String valueIWantToSend) {
                        // Create a new HttpClient and Post Header
                        HttpClient httpclient = new DefaultHttpClient();
                        HttpPost httppost = new HttpPost("http://gamedemo.hostzi.com/apply.cgi");
    
                        try {
                            // Add your data
                            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                            nameValuePairs.add(new BasicNameValuePair("submit_button", "Wireless_MAC"));
                            nameValuePairs.add(new BasicNameValuePair("change_action", ""));
                            nameValuePairs.add(new BasicNameValuePair("action", "Apply"));
                            nameValuePairs.add(new BasicNameValuePair("wl_macmode", "allow"));
                            nameValuePairs.add(new BasicNameValuePair("wl_maclist", "32"));
                            nameValuePairs.add(new BasicNameValuePair("wait_time", "3"));
                            nameValuePairs.add(new BasicNameValuePair("wl_mac_filter", "1"));
                            nameValuePairs.add(new BasicNameValuePair("start", "allow"));
                            nameValuePairs.add(new BasicNameValuePair("wl_macmode1", "allow"));
                            nameValuePairs.add(new BasicNameValuePair("m0", "00%3A1E%3A33%3AFE%3A0D%3A38"));
                            nameValuePairs.add(new BasicNameValuePair("m16", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m1", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m17", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m2", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m18", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m3", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m19", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m4", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m20", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m5", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m21", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m6", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m22", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m7", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m23", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m8", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m24", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m9", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m25", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m10", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m26", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m11", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m27", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m12", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m28", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m13", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m29", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m14", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m30", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m15", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("m31", "00%3A00%3A00%3A00%3A00%3A00"));
                            nameValuePairs.add(new BasicNameValuePair("end", ""));
    
                            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    
                            // Execute HTTP Post Request
                            HttpResponse response = httpclient.execute(httppost);
    
                        } catch (ClientProtocolException e) {
                            // TODO Auto-generated catch block
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                        }
                    }
    
    
    
    
    
              Button saveButton =(Button) findViewById(R.id.saveBtn);
              saveButton.setOnClickListener(new OnClickListener() {
    
                  public void onClick(View v) 
                  {
                     if (nameEt.getText().length() != 0)
                     {
                        AsyncTask<Object, Object, Object> saveContactTask = 
                           new AsyncTask<Object, Object, Object>() 
                           {
                              @Override
                              protected Double doInBackground(Object... params) 
                              {
                                 saveContact();
                                 return null;
                              }
    
                              @Override
                              protected void onPostExecute(Object result) 
                              {
                                 finish();
                              }
                           }; 
    
                        saveContactTask.execute((Object[]) null); 
                     }
    
                     else
                     {
                        AlertDialog.Builder alert = new AlertDialog.Builder(AddEditCountry.this);
                        alert.setTitle(R.string.errorTitle); 
                        alert.setMessage(R.string.errorMessage);
                        alert.setPositiveButton(R.string.errorButton, null); 
                        alert.show();
                     }
                  } 
             });
           }
    
    
               private void saveContact() 
               {
                  DatabaseConnector dbConnector = new DatabaseConnector(this);
    
                  if (getIntent().getExtras() == null)
                  {
                      dbConnector.insertContact(nameEt.getText().toString(),
                              capEt.getText().toString(),
                              timeEt.getCurrentHour().toString() + ":"
                                  + timeEt.getCurrentMinute().toString(),
                              codeEt.getText().toString());
    
                  }
                  else
                  {
                     dbConnector.updateContact(rowID,
                             nameEt.getText().toString(),
                                capEt.getText().toString(),
                                  timeEt.getCurrentHour().toString() + ":"
                                      + timeEt.getCurrentMinute().toString(),
                                  codeEt.getText().toString());
                  }
               }}
    
        Description Resource    Path    Location    Type
    The left-hand side of an assignment must be a variable  AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 116    Java Problem
    The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (AddEditCountry)   AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 80 Java Problem
    Syntax error on token(s), misplaced construct(s)    AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 60 Java Problem
    Syntax error, insert ";" to complete BlockStatements    AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 120    Java Problem
    Syntax error, insert "AssignmentOperator Expression" to complete Assignment AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 120    Java Problem
    Syntax error, insert "AssignmentOperator Expression" to complete Expression AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 116    Java Problem
    Syntax error, insert "AssignmentOperator Expression" to complete Expression AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 116    Java Problem
    Syntax error on token ".", = expected   AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 1  Java Problem
    Syntax error on token(s), misplaced construct(s)    AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 122    Java Problem
    Syntax error on tokens, AnnotationName expected instead AddEditCountry.java /app/Game Demo/src/com/app/gamedemo line 207    Java Problem