背景:尼瑪,在公司老被項目負責人屌;我只是反應慢點而已;這是算是開發軟件的基礎,因此地大概總結下,省得下次又被屌; android
廢話少說;向服務器發送請求的方法有兩種,post方法和get方法;兩種方法均可以獲取返回的數據;具體使用哪一種方法視服務器提供的接口而定,有時候接口會限定使用post或者get方法的;返回的數據也是根據接口提示的數據而定(通常返回JSON格式的數據);因此,在網絡編程前弄懂接口的信息是很是有必要的; 編程
在發送http請求時,先在AndroidManifest.xml中加上<uses-permission android:name="android.permission.INTERNET"獲取聯網資格 服務器
一、獲取接口地址:String baseurl = "http://www.baidu.com/s?";接口地址根據實際狀況提供; 網絡
二、get 方法: post
(1)、生成請求對象:HttpGet httpGet = new HttpGet(url);參數url爲 String url = baseurl + srt; srt 爲 請求接口要求的數據;根據接口的要求設置; 編碼
(2)、生成http客戶端對象:HttpClient client = new DefaultHttpClient();貌似還有其餘形式的http客戶 端; url
(3)、接收響應:HttpResponse httpResponse = client.execute(httpGet);這時,請求接口返回的數據就 在httpResponse對象裏了;能夠經過EncodingUtils類裏面的方便將數據轉換成byte[]或者String;根 據本身的實際狀況處理; spa
三、post方法:通常發送鍵值對數據去請求接口數據; code
(1)、處理鍵值對:NameValuePair nameValuePair = new BasicNameValuePair("kkk", "vvv"); xml
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(nameValuePair);
(2)、對參數編碼:HttpEntity requestHttpEntity = new UrlEncodedFromEntity(nameValuePairs);
(3)、生成post請求對象:HttpPost httpPost = new HttpPost(baseurl);
httpPost.setEntity(requestHttpEntity);
(4)、生成http客戶端對象(發送請求):HttpClient httpClient = new DefaultHttpClient();
(5)、接收響應:HttpResponse httpResponse = httpClient.execute(httpPost);這時,接口返回的數據 就在httpResponse對象裏了;用EncodingUtils類將數據處理成須要的類型就能夠了;
基本上post、get的步驟都是這樣;就是對返回的數據的處理方式不一樣;咱們能夠在實際狀況中對不一樣的數據做不一樣的處理;