Android實戰——okhttp3的使用和封裝



本篇文章包括以下內容:

  • okhttp3是什么
  • okhttp3工具類的演示(基於okhttp工具類的封裝)
  • okhttp3工具類的封裝

使用作者的項目的原話:Android和Java應用程序的HTTP和HTTP / 2客戶端
其項目地址:https://github.com/square/okhttp

1、Get請求
2、Post請求
3、文件上傳
4、文件下載

由於okhttp3里面是依賴於okio進行開發的,所以務必將okio也引入;老年服飾


我們根據okhttp3的使用封裝了HttpUtils,用起來非常簡單,跟第三方平台Api使用一樣

這里使用response.body().string()返回響應結果內容


okhttp3采用構造者模式來實現的,下面是簡單的API介紹:

  • Request.Builder 請求構造者
    • url(String url):請求的url
    • post():默認是Get方式
    • post(RequestBody body):Post帶參數
    • build():構造請求

請求參數有三種:

  • RequestBody:普通的請求參數
  • FormBody.Builder:以表單的方式傳遞鍵值對的請求參數
  • MultipartBody.Builder:以表單的方式上傳文件的請求參數

執行方法:

  • Call
    • enqueue(Callback callback):異步請求
    • execute():同步請求

創建HttpUtils工具類,由於okhttp3不建議創建多個對象,所以采用餓漢式的單例模式

okhttp3也提供了同步的請求方式,通過call.execute()方法,這里都使用異步來演示

如果在下載文件中需要進度的話,可以修改onResponse回調里面的內容就可以獲取進度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM