HttpClient——Get,Post

複製代碼
package com.ch.day5_httpclient;
 import java.util.List;  import com.ch.myutils.NetWorkUtil; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken;  import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;  public class MainActivity extends Activity { private EditText username; private EditText userpass; private Button login; Context mcontext;  Handler h = new Handler(){ public void handleMessage(android.os.Message msg) { if(msg.what == 1){ if(msg.obj.equals("success")){ //跳轉 Intent it = new Intent(mcontext,BaseActivity.class); startActivity(it);  }else{ Toast.makeText(mcontext, "post請求,帳號不對", 0).show();  } }else if(msg.what == 2){ Toast.makeText(mcontext, (String)msg.obj,0).show(); if(msg.obj.equals("成功")){ //跳轉 Intent it = new Intent(mcontext,BaseActivity.class); startActivity(it);  }else{ Toast.makeText(mcontext, "post請求,帳號不對", 0).show();  } } }; };  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mcontext = MainActivity.this; init();  } public void init(){ username = (EditText) findViewById(R.id.username); userpass = (EditText) findViewById(R.id.userpass); login = (Button) findViewById(R.id.login);  login.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //獲得登錄xinix final String nameValue = username.getText().toString(); final String passValue = userpass.getText().toString(); if(nameValue != null && nameValue != "" && passValue != null && passValue != ""){ //判斷網絡是否開通 if(NetWorkUtil.isNetAvailable(mcontext)){//爲真,表示網絡開通 //獲得服務器請求登錄,經過線程 new Thread(){ public void run() { //請求服務器 // String rs = // NetWorkUtil.loginCheck_Get_HttpClient(nameValue, passValue, NetWorkUtil.LOGIN_URL); // h.sendMessage(h.obtainMessage(1, rs));  String rs = NetWorkUtil.loginCheck_POST_HttpClient(nameValue, passValue, NetWorkUtil.LOGIN_URL); h.sendMessage(h.obtainMessage(2, rs)); }; }.start();  } }else{ Toast.makeText(mcontext, "請完整輸入帳號信息", 0).show();  } } });  }  }
複製代碼

 

複製代碼
  1 package com.ch.myutils;  2  3 import java.io.IOException;  4 import java.io.UnsupportedEncodingException;  5 import java.util.ArrayList;  6 import java.util.List;  7  8 import org.apache.http.HttpEntity;  9 import org.apache.http.HttpResponse;  10 import org.apache.http.NameValuePair;  11 import org.apache.http.client.ClientProtocolException;  12 import org.apache.http.client.HttpClient;  13 import org.apache.http.client.entity.UrlEncodedFormEntity;  14 import org.apache.http.client.methods.HttpGet;  15 package com.ch.myutils;  16  17 import java.io.IOException;  18 import java.io.UnsupportedEncodingException;  19 import java.util.ArrayList;  20 import java.util.List;  21  22 import org.apache.http.HttpEntity;  23 import org.apache.http.HttpResponse;  24 import org.apache.http.NameValuePair;  25 import org.apache.http.client.ClientProtocolException;  26 import org.apache.http.client.HttpClient;  27 import org.apache.http.client.entity.UrlEncodedFormEntity;  28 import org.apache.http.client.methods.HttpGet;  29 import org.apache.http.client.methods.HttpPost;  30 import org.apache.http.impl.client.DefaultHttpClient;  31 import org.apache.http.message.BasicNameValuePair;  32 import org.apache.http.params.BasicHttpParams;  33 import org.apache.http.params.HttpConnectionParams;  34 import org.apache.http.params.HttpParams;  35 import org.apache.http.util.EntityUtils;  36  37 import android.content.Context;  38 import android.net.ConnectivityManager;  39 import android.net.NetworkInfo;  40  41 public class NetWorkUtil {  42 public static final String LOGIN_URL = "http://101.200.142.201:8080/tqyb/login";  43  public static boolean isNetAvailable(Context context){  44  //得到網絡管理器  45  ConnectivityManager connM =  46 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  47 NetworkInfo netInfo = connM.getActiveNetworkInfo();//獲得網絡詳情  48  49  if(netInfo == null || !netInfo.isAvailable())  50 return false;  51  52 return true;  53  }  54  55  public static String loginCheck_Get_HttpClient(String name,String pass,String url){  56  //經過StringBuffer來加工url  57 StringBuffer sb = new StringBuffer(url);  58 sb.append("?username=");  59 sb.append(name);  60 sb.append("&userpass=");  61 sb.append(pass);  62  63 String result = "";  64  65 HttpGet get = new HttpGet(sb.toString());//建立httpClient的get請求對象  66  //設置請求參數  67 HttpParams params = new BasicHttpParams();  68 HttpConnectionParams.setConnectionTimeout(params, 5*1000);  69 HttpConnectionParams.setSoTimeout(params, 5*1000);  70  71 HttpClient client = new DefaultHttpClient(params);//建立HttpClient對象  72  73  try {  74 HttpResponse res = client.execute(get);//執行請求,得到結果  75 if(res.getStatusLine().getStatusCode() == 200){  76 HttpEntity entity = res.getEntity();//得到相應結果,是一個HttpEntity對象  77 result = EntityUtils.toString(entity, "utf-8");//轉換爲字符串  78  }  79  } catch (ClientProtocolException e) {  80  // TODO Auto-generated catch block  81 e.printStackTrace();  82  } catch (IOException e) {  83  // TODO Auto-generated catch block  84 e.printStackTrace();  85  }  86 return result;  87  88  }  89  90  public static String loginCheck_POST_HttpClient(String name,String pass,String url){ 91 String result = ""; 92 93 HttpPost post = new HttpPost(url);//建立httpClient的post請求對象 94 //設置請求參數 95 HttpParams params = new BasicHttpParams(); 96 HttpConnectionParams.setConnectionTimeout(params, 5*1000); 97 HttpConnectionParams.setSoTimeout(params, 5*1000); 98 //傳值 99 //建立List集合,存放向服務器傳遞的數據 100 List<NameValuePair> reqData = new ArrayList<NameValuePair>(); 101 NameValuePair p1 = new BasicNameValuePair("username", name); 102 NameValuePair p2 = new BasicNameValuePair("userpass", pass); 103 reqData.add(p1); 104 reqData.add(p2); 105 106 try { 107 HttpEntity entity = new UrlEncodedFormEntity(reqData, "utf-8"); 108 post.setEntity(entity);//給post請求對象,設置上傳的數據 109 HttpClient client = new DefaultHttpClient(params);//建立HttpClient對象 110 HttpResponse res = client.execute(post);//執行post請求,得到結果 111 if(res.getStatusLine().getStatusCode() == 200){ 112 HttpEntity resEntity = res.getEntity();//得到相應結果,是一個HttpEntity對象 113 result = EntityUtils.toString(resEntity, "utf-8");//轉換爲字符串 114 } 115 } catch (UnsupportedEncodingException e1) { 116 // TODO Auto-generated catch block 117 e1.printStackTrace(); 118 } catch (ClientProtocolException e) { 119 // TODO Auto-generated catch block 120 e.printStackTrace(); 121 } catch (IOException e) { 122 // TODO Auto-generated catch block 123 e.printStackTrace(); 124 } 125 126 return result; 127 128 } 129 130 131 }
複製代碼
相關文章
相關標籤/搜索