gpt4 book ai didi

java - AsyncTask 语法错误

转载 作者:可可西里 更新时间:2023-11-01 16:52:14 27 4
gpt4 key购买 nike

我不知道我做错了什么 - 但在合并我拥有的两个不同文件的源代码并实现 AsyncTask 后,我在编译以下代码时遇到了几个问题。对于可能导致这些问题的任何建议(作为学习经验)以及解决这些问题的方法是否不太复杂,我们将不胜感激。

(提前致谢!)

问题:

描述资源路径位置类型

The nested type AddEditCountry cannot hide an enclosing type    AddEditCountry.java /Game Demo/src/com/nfc/gamedemo line 159    Java Problem
Syntax error, insert "AssignmentOperator Expression" to complete Expression AddEditCountry.java /Game Demo/src/com/nfc/gamedemo line 153 Java Problem
The left-hand side of an assignment must be a variable AddEditCountry.java /Game Demo/src/com/nfc/gamedemo line 153 Java Problem

附言

在几个用户的帮助下,我已经能够得到下面的源代码,但是我仍然有几个问题(如下所列)和数据字符串:http://gamedemo.hostzi.com/apply.cgi?submit_button=Wireless_MAC&change_action=&action=Apply&wl_macmode=allow&wl_maclist=32&wait_time=3&wl_mac_filter=1&start=&wl_macmode1=allow&m0=00%3A1E%3A33%3AFE%3A0D%3A38&m16=00%3A00%3A00%3A00%3A00%3A00&m1=00%3A00%3A00%3A00%3A00%3A00&m17=00%3A00%3A00%3A00%3A00%3A00&m2=00%3A00%3A00%3A00%3A00%3A00&m18=00%3A00%3A00%3A00%3A00%3A00&m3=00%3A00%3A00%3A00%3A00%3A00&m19=00%3A00%3A00%3A00%3A00%3A00&m4=00%3A00%3A00%3A00%3A00%3A00&m20=00%3A00%3A00%3A00%3A00%3A00&m5=00%3A00%3A00%3A00%3A00%3A00&m21=00%3A00%3A00%3A00%3A00%3A00&m6=00%3A00%3A00%3A00%3A00%3A00&m22=00%3A00%3A00%3A00%3A00%3A00&m7=00%3A00%3A00%3A00%3A00%3A00&m23=00%3A00%3A00%3A00%3A00%3A00&m8=00%3A00%3A00%3A00%3A00%3A00&m24=00%3A00%3A00%3A00%3A00%3A00&m9=00%3A00%3A00%3A00%3A00%3A00&m25=00%3A00%3A00%3A00%3A00%3A00&m10=00%3A00%3A00%3A00%3A00%3A00&m26=00%3A00%3A00%3A00%3A00%3A00&m11=00%3A00%3A00%3A00%3A00%3A00&m27=00%3A00%3A00%3A00%3A00%3A00&m12=00%3A00%3A00%3A00%3A00%3A00&m28=00%3A00%3A00%3A00%3A00%3A00&m13=00%3A00%3A00%3A00%3A00%3A00&m29=00%3A00%3A00%3A00%3A00%3A00&m14=00%3A00%3A00%3A00%3A00%3A00&m30=00%3A00%3A00%3A00%3A00%3A00&m15=00%3A00%3A00%3A00%3A00%3A00&m31=00%3A00%3A00%3A00%3A00%3A00&end=

...似乎永远不会访问服务器(我正在检查日志 - 在应该发送上面的字符串的应用程序中单击提交时没有更改 - 如果我将该 URL 粘贴到浏览器中,它会成功运行)

此外 - 它从未出现在服务器上的原因可能是由于我必须在单击提交之前按空格键,因为在单击提交之前需要文本框 - 我想我可能需要删除文本框完全(我根本不需要它——我只想发送预定义的数据字符串)但我不确定我知道如何在不破坏源代码的情况下这样做。

Java:

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 DeviceConfig extends Activity implements OnClickListener{

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);
btn.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public void onClick(View v) {
// TODO Auto-generated method stub
if(value.getText().toString().length()<1){

// out of range
Toast.makeText(this, "please enter something", Toast.LENGTH_LONG).show();
}else{
pb.setVisibility(View.VISIBLE);
new MyAsyncTask().execute(value.getText().toString());
}


}

private class MyAsyncTask 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://192.168.1.1/apply.cgi");

try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("myHttpData", valueIWantToSend));
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
}
}

}
}

最佳答案

new MyAsyncTask().execute//这是错误的

execute() 是方法

这样调用

new MyAsyncTask().execute("");

你的代码有很多错误。您已将代码放在 onCreate 之外

关于java - AsyncTask 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691679/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com