0

我是 java / android 的新手,因为我为 IOS 安排了时间,但我怀疑将参数发送到 PHP 中的函数

好吧,是一个表单,当用户点击发送时,我将表单的内容保存在字符串中。

最后有字符串 4

姓名电子邮件名称用户电子邮件用户

我需要将它们发送到 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();


    }

……

使用参数发送到此地址:姓名、电子邮件、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 question也解决了同样的问题。

于 2012-05-02T19:28:51.433 回答
0

在 Java 中有多种连接字符串的方法。格式化字符串的一种方法是使用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 回答