http://www.xuebuyuan.com/2045290.html
Android聯網使用HttpClient 和HttpResponse 小結
三步曲:
1.創建HttpGet或者HttpPost對象,將要請求的URL對象構造方法傳入HttpGet、HttpPost對象
2.通過HttpClent接口的實現類DefaultClent.的excute(HttpUriRequest request)而我們已經知道HttpGet和HttpPost類都實現了 HttpUriRequest接口,所以這裏面,我們可以將第1步創建好的HttpGet或者HttpPost對象傳入進來。來得到HttpResponse對象
3.通過HttpResponse取到返回的一些信息,再做提取
知識點
1. HttpParams : 保存Http請求設定的參數對象
2. HttpConnectionParams :提供對Http連接參數進行設定的方法,比如 連接超時時間 等。
3.HttpClient :發起Http連接請求的對象,
4.HttpResponse :Http 請求返回的響應
HttpClient接口
實現類:DefaultHttpClient這也是常用的一個用於實現HttpClient接口的子類, HttpClietnt中定義的常用抽象方法
1.public abstract HttpResponse execute (HttpUriRequest request) :
通過HttpUriRequest對象執行返回一個HttpResponse對象
2.public abstract HttpResponse execute (HttpUriRequest request, HttpContext context) :
通過HttpUriRequest對象和HttpContext對 象執行返回一個HttpResponse對象
HttpResponse接口
HttpResponse接口裏定義了一系列的set、get方法
1.public abstract HttpEntity getEntity () :
得到一個HttpEntity對象
2.public abstract StatusLine getStatusLine () :
得到一個StatusLine(也就是HTTP協議中的狀態行我們知道HTPP狀態行由三部分組成:HTTP協議版本,服務器發回的響 應狀態代碼,狀態碼的文本描述)接口的實例對象
3. public abstract Locale getLocale () :
得到Locale對象….相應的set方法
StatusLine接口
StatusLine接口的常用方法。也可以通過其實現的子類BasicStatusLine類裏查看
1.public abstract ProtocolVersion getProtocolVersion () :
得到一個ProtolVersion對象它是一個HTTP版本的封裝類,在這個類裏定義了一系列的方法我們可以通過它的getProtocol方法取得協議名稱,getMinor得到HTPP協議的版本
2.public abstract String getReasonPhrase () :
狀態碼的文本描述
3.public abstract int getStatusCode () :
得到響應狀態碼
HttpEntity是一個接口
1.public abstract InputStream getContent () :
得到一個輸入流對象,我們可以用這個流來操作文件(例如保存文件到SD卡)
2.public abstract Header getContentType () :
得到Content-Type信息頭
3.public abstract Header getContentEncoding () :
得到Content-Encoding信息頭
我們可以通過EntityUtils類,它是一個final類,一個專門針對於處理HttpEntity的幫助類
常用方法
EntityUtils類
EntityUtils類的常用方法
1.public static String getContentCharSet (HttpEntity entity) :
設置HttpEntity對象的ContentCharset
2.public static byte[] toByteArray (HttpEntity entity) :
將HttpClient轉換成一個字節數組
3.public static String toString (HttpEntity entity, String defaultCharset) :
通過指定的編碼方式取得HttpEntity裏字符串內容
4.public static String toString (HttpEntity entity) :
取得HttpEntity裏字符串內容
NameValuePair
NameValuePair接口是一個簡單的封閉的鍵值對,只提供了一個getName()和一個getValue方法。主要用到的實現類BasicNameVaulePair HttpGet類
HttpGet它實現了HttpRequest、HttpUriRequest接口 構造方法
1.public HttpGet () : 無參數構造方法用以實例化對象
2.public HttpGet (URI uri) :通過URI對象構造HttpGet對象
3.public HttpGet (String uri) :通過指定的uri字符串地址構造實例化HttpGet對象
HttpPost類
同樣它也實現了HttpRequest、HttpUriRequest接口等一系列接口 構造方法
1.public HttpPost () :無參數構造方法用以實例化對象
2.public HttpPost (URI uri) :通過URI對象構造HttpPost對象
3.public HttpPost (String uri) :通過指定的uri字符串地址構造實例化HttpPost對象