我正在创建一个接受用户输入的应用程序,我希望它将它作为GET参数传递给HTTP请求。
我的问题是,如何将输入传递给GET请求?
例如,输入为10
,请求网址应为:
http://example.com/?no=10&otherparam=some_stuff_here
我知道如何发出GET请求,但我不知道如何从用户输入中添加参数
答案 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