Android基礎知識(二十三):網絡請求與HttpURLConnection的基本用法

Android基礎知識(二十三):網絡請求與HttpURLConnection的基本用法

一、Android網絡請求
在過去,Android上發送HTTP請求一般有兩種方式:HttpURLConnection以及HttpClient。不過由於HttpClient存在API數量過多、擴展困難等缺點,在Android 6.0系統中,HttpClient功能被完全移除

二、HttpURLConnection的基本用法

  1. 獲取HttpURLConnection實例
    創建一個URL對象,並傳入目標的網絡地址,然後調用openConnection()方法獲取HttpURLConnection對象實例。
    在這裏插入圖片描述
  2. 設置請求方法
    得到HttpURLConnection對象實例後,設置HTTP請求所使用的方法,常用的方法主要有兩個:GET和POST。GET表示希望從服務器獲取數據,POST表示希望提交數據給服務器。
    在這裏插入圖片描述
  3. 設置請求頭
    設置請求的請求頭,例如設置連接超時、讀取超時的毫秒數以及服務器希望得到的頭信息等。
    在這裏插入圖片描述
  4. 獲取輸入流並讀取
    使用getInputStream()方法獲取到服務器返回的輸入流,並對輸入流進行讀取。
    在這裏插入圖片描述
  5. 關閉Http連接
    當網絡請求結束之後,調用disconnect()方法關閉HTTP連接
    在這裏插入圖片描述
  6. 使用POST提交數據
    對於想要使用POST方式提交數據給服務器的,使用setRequestMethod()方法設置請求方法爲POST,並在獲取輸入流之前調用getOutputStream()方法獲取輸出流,通過輸出流將POST的數據提交
    需要注意的是每條數據都要以鍵值對的形式存在,數據與數據之間用“&”符號隔開。
    在這裏插入圖片描述
    另外,當使用網絡請求時,由於在主線程中使用網絡請求會造成主線程阻塞,因此一般都是在子線程中進行網絡請求

三、HttpsURLConnection
相比於HttpURLConnection,HttpsURLConnection的不同之處在於其作用於HTTPS協議,而HttpURLConnection作用於HTTP協議。
在用法上沒有較大的區別。

參考資料:《第一行代碼 Android 第2版》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章