如何根据用户输入添加GET参数?

时间:2015-05-21 21:26:44

标签: android http get

我正在创建一个接受用户输入的应用程序,我希望它将它作为GET参数传递给HTTP请求。

我的问题是,如何将输入传递给GET请求?

例如,输入为10,请求网址应为:

http://example.com/?no=10&otherparam=some_stuff_here

我知道如何发出GET请求,但我不知道如何从用户输入中添加参数

1 个答案:

答案 0 :(得分:0)

找到您的编辑文字:

EditText et = (EditText) findViewById(R.id.edittext_id); //replace with your ID

获取用户输入:

String input = et.getText().toString();

现在,您在名为input的变量中输入了用户。 HTTP GET参数只是添加到URL的参数。

假设您有此网址:

http://example.com/search.php?keywords=some_keywords

如果您想添加language参数,只需将其附加到以下网址:

http://example.com/search.php?keywords=some_keywords&language=English

现在使用所需的参数

打开与服务器的连接
URLConnection con = new URL("http://example.com/?exampleparam=" + input).openConnection();

使用输入/输出流来接收和发送到您的服务器:

con.getInputStream();
con.getOutputstream();


注意

由于你在Android上,你不能在主UI线程上进行网络操作,打开并启动新线程,如:

Thread t = new Thread(new Runnable() {
    @Override
    public void run() {
        //Run your network operations here
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //Update UI here
            }
        });
    }
});
t.start();

您也可以使用AsyncTask