postData не может быть преобразован в тип - PullRequest
0 голосов
/ 12 мая 2011

Я новичок в программировании на Android. Я пытаюсь опубликовать некоторые данные на сервере, используя сообщение. Я гуглил это и придумал это:

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
        }

   }

Моя проблема в том, что я получаю ошибки в первой строке этого кода:

  • postData не может быть преобразован в тип
  • синтаксическая ошибка на токене "{", удалите этот токен
  • синтаксическая ошибка на токене "void", @ ожидается

Я использую Eclipse, и я использовал Shift + Ctrl + o, чтобы получить весь импорт.

1 Ответ

1 голос
/ 12 мая 2011

Ваша проблема (на основе информации, которую вы предоставили) состоит в том, что вы объявляете функцию 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
        }

   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...