0

以下は、新しいスレッドでサーバーに HTTP 要求を送信するために使用しているアクティビティのコードです。ただし、理解できない構文エラーがあります。

以下は私が得ているエラーです

 Multiple markers at this line
    - Syntax error, insert ")" to complete       ClassInstanceCreationExpression
    - Syntax error, insert ";" to complete BlockStatements

私はJavaが初めてです。助けてください。

public class RegisterActivity extends Activity {

    private static final String TAG = "RegisterActivity";

    /*
     * Event listener for registration button. This will load the loading view and fire up the HTTP request to the server
     */
    public OnClickListener registrationBtnListener = new OnClickListener() {
        public void onClick(View v) {

            Thread trd = new Thread(new Runnable(){
                @Override
                public void run(){

                    String urlParameters = "";

                    try {
                        urlParameters = "fName=" + URLEncoder.encode("John", "UTF-8") +
                        "&lName=" + URLEncoder.encode("Smith", "UTF-8");
                    } catch (UnsupportedEncodingException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    Http.post("http://192.168.1.101/project/test.php", urlParameters);
                }
            }
            trd.run();
        }
    };

編集 :

); を追加することで修正されました。trd.run() の前。しかし今、私は別のエラーが発生します:

Multiple markers at this line
    - The method run() of type new Runnable(){} must override a superclass 
     method
    - implements java.lang.Runnable.run

以下はコードです:

Thread trd = new Thread(new Runnable(){
                @Override
                public void run(){

                    String urlParameters = "";

                    try {
                        urlParameters = "fName=" + URLEncoder.encode("yash", "UTF-8") +
                        "&lName=" + URLEncoder.encode("desai", "UTF-8");
                    } catch (UnsupportedEncodingException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    Http.post("http://192.168.1.101/bworld/test.php", urlParameters);
                }
            });

エラーは次の行にあります。

public void run(){
4

2 に答える 2

2

)の締めくくりがありませんnew Thread(...

于 2012-04-29T01:43:59.803 に答える
2

再 2 番目のエラー。@Override問題は注釈だと思います。Java 1.5 をソース レベルとしてコンパイルしている場合、その注釈は、スーパークラスのメソッドをオーバーライドする必要があることを意味します。しかし、あなたは(ちょうど)インターフェースにメソッドを実装しています。

アノテーションを除去するか、ソース・レベルを Java 1.6 以降に変更してください。

于 2012-04-29T02:00:22.907 に答える