get和post可以简单的理解为get将参数写在url后,而post不是
可以看到下面代码,传给Asyntask的url是不同的
get和post都是比较耗时的,所以最好放在Asyntask里的doinbackground里
Asyntask的参数改为
(String, Void, Void)
然后在
Asyntask对应的}后添加(以post为例)
.execute("http://192.168.23.1:8080/st/society_login.jsp");
把参数传给doinbackground
button1是post方法的实现
button2是get方法的实现
post方法要将
URLConnection改为<pre name="code" class="java">HttpURLConnection
否则不能<pre name="code" class="java">setRequestMethod("POST");
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new AsyncTask<String, Void, Void>(){
@Override
protected Void doInBackground(String... arg0) {
URL url;
try {
url = new URL(arg0[0]);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStreamWriter osw=new OutputStreamWriter(connection.getOutputStream(),"utf-8");
BufferedWriter bw=new BufferedWriter(osw);
bw.write("st_id=1001&pass=aa");
bw.flush();
InputStream is=connection.getInputStream();
InputStreamReader isr=new InputStreamReader(is,"utf-8");
BufferedReader br=new BufferedReader(isr);
String line;
while ((line=br.readLine())!=null) {
System.out.println(line);
}
br.close();
isr.close();
is.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}.execute("http://192.168.23.1:8080/st/society_login.jsp");
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new AsyncTask<String, Void, Void>(){
@Override
protected Void doInBackground(String... arg0) {
URL url;
try {
url = new URL(arg0[0]);
URLConnection urlConnection=url.openConnection();
InputStream is=urlConnection.getInputStream();
InputStreamReader isr=new InputStreamReader(is,"utf-8");
BufferedReader br=new BufferedReader(isr);
String line;
while ((line=br.readLine())!=null) {
System.out.println(line);
}
br.close();
isr.close();
is.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}.execute("http://192.168.23.1:8080/st/society_login.jsp?st_id=1001&pass=aa");
}
});
}