這裡沒有寫UI操作,get請求中文亂碼問題這裡也沒有處理,如果做UI操作,需要在子線程中,這裡主要講解get,post如何傳遞數據,其他知識就不考慮了
package com.example.httpurlconnectiontest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import android.content.Context; import android.widget.Toast; /** * 使用HttpUrlConnection實現get,post方式傳遞數據 * @author Administrator * */ public class HttpThread extends Thread{ private String url; private String name; private String age; private Context context; public HttpThread(Context context, String url, String name, String age) { this.context =context; this.url = url; this.name = name; this.age = age; } private void doGet(){ url = url+"?username="+name+"&password="+age; try { URL httpUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); conn.setRequestMethod("GET"); conn.setReadTimeout(5000); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String str; StringBuffer sb = new StringBuffer(); while((str = reader.readLine())!=null){ sb.append(str); } System.out.println(sb); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void doPost(){ try { URL httpUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); conn.setRequestMethod("POST"); conn.setReadTimeout(5000); OutputStream out = conn.getOutputStream(); String content ="username="+name+"&password="+age; out.write(content.getBytes()); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String str; StringBuffer sb = new StringBuffer(); while((str = reader.readLine())!=null){ sb.append(str); } System.out.println(sb); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void run() { // TODO Auto-generated method stub //doGet(); doPost(); } }在MainActivity中調用:
String url = "http://115.158.57.173:8080/KuaiDi3/AddUser_servlet"; new HttpThread(MainActivity.this,url, "123", "123").start();