xml:
16 7 14 22 23 30 31 38 39
NetUtils:
1 package com.xh.tx.netUtils; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.OutputStream; 7 import java.net.HttpURLConnection; 8 import java.net.ProtocolException; 9 import java.net.URL; 10 import java.net.URLEncoder; 11 12 public class NetUtils 13 { 14 public static String getSubmit(String username,String password,String uri) 15 { 16 uri = uri +"?username=" + username + "&password=" + password; 17 18 HttpURLConnection conn = getHttpURLConnection(uri); 19 // http://localhost:8080/TestServlet?username=zs&password=123 20 21 try { 22 conn.setConnectTimeout(30000); 23 conn.setReadTimeout(30000); 24 conn.setRequestMethod("GET"); 25 26 conn.connect(); //连接 连接的时候是否要传递参数过去 27 28 //先判断一下状态是否为200,如果为200则将in流转换为字符串 29 if(conn.getResponseCode() == 200) 30 { 31 String content = getStringFromInputStream(conn.getInputStream()); 32 33 return content; 34 } 35 36 } catch (ProtocolException e) { 37 e.printStackTrace(); 38 } catch (IOException e) { 39 e.printStackTrace(); 40 } 41 42 return null; 43 } 44 45 private static String getStringFromInputStream(InputStream inputStream) throws IOException 46 { 47 byte[] buffer = new byte[1024]; 48 ByteArrayOutputStream bytearray = new ByteArrayOutputStream(); 49 int len = 0; 50 51 while((len = inputStream.read(buffer, 0, 1024)) != -1) 52 { 53 bytearray.write(buffer); 54 } 55 56 // String content = new String(bytearray.toByteArray(),"GBK"); 57 58 return bytearray.toString(); 59 } 60 61 public static String postSubmit(String username,String password, String uri) 62 { 63 HttpURLConnection conn = getHttpURLConnection(uri); 64 65 try { 66 conn.setConnectTimeout(30000); 67 conn.setReadTimeout(30000); 68 conn.setRequestMethod("POST"); 69 //如果你要兼容2.3版本,那么你必须添加一下这句话 70 conn.setDoInput(true); 71 72 //参数传递 73 OutputStream out = conn.getOutputStream(); 74 75 conn.connect(); 76 out.write(("username="+username + "&password=" + password).getBytes()); 77 78 if(conn.getResponseCode() == 200) 79 { 80 String content = getStringFromInputStream(conn.getInputStream()); 81 return content; 82 } 83 } catch (ProtocolException e) { 84 e.printStackTrace(); 85 } catch (IOException e) { 86 e.printStackTrace(); 87 } 88 89 return null; 90 } 91 92 public static HttpURLConnection getHttpURLConnection(String uri) 93 { 94 try { 95 URL url = new URL(uri); 96 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 97 98 return conn; 99 } catch (IOException e) {100 e.printStackTrace();101 }102 return null;103 104 }105 }
MainActivity:
1 package com.xh.tx.postget; 2 3 import com.xh.tx.netUtils.NetUtils; 4 5 import android.app.Activity; 6 import android.os.Bundle; 7 import android.view.Menu; 8 import android.view.MenuItem; 9 import android.view.View;10 import android.view.View.OnClickListener;11 import android.widget.EditText;12 import android.widget.Toast;13 14 public class MainActivity extends Activity implements OnClickListener {15 16 EditText et_username;17 EditText et_password;18 19 @Override20 protected void onCreate(Bundle savedInstanceState) {21 super.onCreate(savedInstanceState);22 setContentView(R.layout.activity_main);23 24 et_username = (EditText) findViewById(R.id.et_username);25 et_password = (EditText) findViewById(R.id.et_password);26 27 findViewById(R.id.bt_get).setOnClickListener(this);28 findViewById(R.id.bt_post).setOnClickListener(this);29 30 }31 32 @Override33 public void onClick(View v) 34 {35 final String username = et_username.getText().toString();36 final String password = et_password.getText().toString();37 38 switch (v.getId()) {39 case R.id.bt_get:40 new Thread(new Runnable()41 {42 @Override43 public void run()44 {45 final String status = NetUtils.getSubmit(username, password,"http://10.0.2.2:8080/baidu/LoginServelt");46 47 runOnUiThread(new Runnable() {48 @Override49 public void run() 50 {51 Toast.makeText(MainActivity.this, "返回的状态为:" + status, 0).show();52 }53 });54 }55 }).start();56 break;57 case R.id.bt_post:58 new Thread(new Runnable()59 {60 @Override61 public void run()62 {63 final String status = NetUtils.postSubmit(username, password,"http://10.0.2.2:8080/baidu/LoginServelt");64 65 runOnUiThread(new Runnable() {66 @Override67 public void run() 68 {69 Toast.makeText(MainActivity.this, "返回的状态为:" + status, 0).show();70 }71 });72 }73 }).start();74 break;75 76 default:77 break;78 }79 }80 }