Java 无法将postData解析为类型

Java 无法将postData解析为类型,java,android,httpclient,Java,Android,Httpclient,我对Android编程还不熟悉。我正在尝试使用post将一些数据发布到服务器。我用谷歌搜索了一下,得出了以下结论: public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.c

我对Android编程还不熟悉。我正在尝试使用post将一些数据发布到服务器。我用谷歌搜索了一下,得出了以下结论:

public void postData() {
    // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");
        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("id", "12345"));
            nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
            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
        }

   }
public void postData(){
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://www.yoursite.com/script.php");
试一试{
//添加您的数据
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”,“12345”);
添加(新的BasicNameValuePair(“stringdata”,“AndDev很酷!”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
}
我的问题是代码的第一行出现错误:

  • 无法将postData解析为类型
  • 令牌“{”上出现语法错误,请删除此令牌
  • 令牌“void”上的语法错误,应为@
我使用Eclipse并使用Shift+Ctrl+o来获取所有导入。

您的问题(基于您迄今为止提供的信息)是在类之外声明函数
postData

Java中的函数需要在一个类中声明。或者,您由于有太多的
}
(在这种情况下,您应该在额外的
}
处有一个错误)而意外关闭了上一个类,或者您没有声明一个类

该类可以如下所示:

public class MyPoster {

    public void postData() {
        // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");
        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("id", "12345"));
            nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
            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
        }

   }
}
公共类MyPoster{
public void postData(){
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://www.yoursite.com/script.php");
试一试{
//添加您的数据
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”,“12345”);
添加(新的BasicNameValuePair(“stringdata”,“AndDev很酷!”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
}
}

您的错误可能就在这上面的那一行。。。是否缺少@Override或右大括号。。。等等…你能给我看一下全部代码吗?谢谢你的帮助。我试着把这个函数放到一个类中,但它仍然给了我一个错误。经过一番阅读,我终于明白了问题所在。我只发布了部分代码。整个过程都是用onCreate方法完成的。当我把它移到外面时,它开始工作:)