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

來源:互聯網
上載者:User

標籤:request   是什麼   下載檔案   hub   oid   方式   方法   檔案下載   非同步   

本篇文章包括以下內容:

  • 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回調裡面的內容就可以擷取進度

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.