0

このサンプルコードをオンラインで見つけました。APIにリクエストを送信して、私が望むことを実行しているようです。少しカスタマイズする必要があります。

ただし、コンパイルしようとすると、3行で同じエラーが発生します

 Syntax error on token(s), misplaced 
 construct(s)
- Syntax error on token "setEntity", = 
 expected after this token

たぶん誰かが私が見ないものを見ることができますか?

コードは次のとおりです。

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;

public class http {

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");


    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);


 }

nameValuePairs.add行とhttppost.setEntity行に対してエラーがスローされます

4

1 に答える 1

2

Ranが言ったことに加えて、最初にいくつかの基本的なJavaプログラミングのレッスン/チュートリアルを受講することをお勧めします。プログラミング関連のチュートリアルの中には、あなたがすでにそれに精通していることを前提としており、メソッド内に属しているため、その方法で直接使用できないコードを数行リストするだけです。

次のようにクラスを書き直す必要があります(「myMethodName」は他の任意の名前にすることができます)

public class http {
   public void myMethodName() {
       HttpClient httpclient = new DefaultHttpClient();
       HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

       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);
   }
}

そして、このコードをそのまま実行することはできません。クラス「http」のインスタンスを作成し、Androidアクティビティからその「myMethodName」メソッドを呼び出す必要があります。

于 2012-07-09T16:58:44.953 に答える