0

私はIOSのスケジュールを立てており、PHPの関数にパラメーターを送信することに疑いがあるため、Java / Androidの初心者です。

ユーザーが送信をクリックすると、フォームの内容が文字列に保存されます。

最後に文字列 4 がある

名前 電子メール nameUser EmailUser

それらをphpで機能させるために送信する必要があります。このチュートリアルに従いました:

しかし、私の問題は、文字列の値を関数のパラメーターとして持つことです

IOS で次のことを行いました。

....

NSString *urlEnvio = [[NSString alloc] initWithFormat:@"http://www.xxxx.com.br/indicar.php?destinatario=%@&remetente=%@&nomedestinatario=%@&nome=%@&enviar=%@", destinatario, remetente, nome,nomeRemetente, check];

...

Javaが必要なものです。

リクエストに応じて、投稿を編集しました.....

@Override
            public void onClick(View v) {
                String nome = seuNome.getText().toString();
                String email = seuEmail.getText().toString();
                String strNomeAmigo = nomeAmigo.getText().toString();
                String strEmailAmigo = emailAmigo.getText().toString();

                //chama funcao que envia
                indicar();

            }
        });
    }

    public void indicar(){
          new Thread(new Runnable() {
                public void run() {
                    BufferedReader in = null;
                    try {
                        HttpClient client = new DefaultHttpClient();
                        HttpGet request = new HttpGet();
                        request.setURI(new URI("http://www.xxxx.com.br/indicar.php?"));
                        //send to this address with the parameters: name, email, strNomeAmigo, strEmailAmigo
                        //

                        HttpResponse response = client.execute(request);
                        in = new BufferedReader
                        (new InputStreamReader(response.getEntity().getContent()));
                        StringBuffer sb = new StringBuffer("");
                        String line = "";
                        String NL = System.getProperty("line.separator");
                        while ((line = in.readLine()) != null) {
                            sb.append(line + NL);
                        }
                        in.close();
                        String page = sb.toString();
                        System.out.println(page);
                        } finally {
                        if (in != null) {
                            try {
                                in.close();
                                } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                }

                }
            }).start();


    }

....

name、email、strNomeAmigo、strEmailAmigo のパラメーターを使用して、このアドレスに送信します。

このようなもの: http://www.xxxxx.com.br/indicar.php?nome=name_example&email=example@example.com ......

4

2 に答える 2

1

あなたの問題は、パラメーターを使用して URL をエンコードすることですよね? その場合は、これにString.formatを使用できます。このURI パラメータ値をエンコードするにはどうすればよいですか? SO質問も同じ問題に対処します。

于 2012-05-02T19:28:51.433 に答える
0

Java で文字列を連結する方法はいくつかあります。文字列をフォーマットする 1 つの方法は、次のString.formatとおりです。

String urlEnvio = String.format("http://www.xxxx.com.br/indicar.php?destinatario=%s&remetente=%s&nomedestinatario=%s&nome=%s&enviar=%s", destinatario, remetente, nome, nomeRemetente, check);

ただし、パラメーターを検証して適切にエスケープするものを使用することを好むので、Uri.Builder.

于 2012-05-02T19:29:15.180 に答える