日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义网络请求框架

發布時間:2024/9/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义网络请求框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該網絡請求框架是基于okhttp封裝的項目。支持設置請求配置。

  • okhttp的Cache類支持配置緩存的大小于位置。
  • okhttp支持設置鏈接超時,讀取超時,寫入超時。
  • okhttp支持設置cookie。
  • okhttp支持設置請求攔截器,我們通過自定義重試攔截器設置請求失敗重試。根據請求返回的響應體的狀態和重試次數,決定是否重試。
  • okhttp支持設置請求攔截器,我們通過自定義日志攔截器實現請求日志的打印。包括請求方法,請求地址,請求協議,請求體長度,請求頭信息,請求體信息。響應碼,響應信息,響應地址,響應時間,響應頭,響應體信息。
  • 將網速變化情況根據每秒傳輸的字節數進行監聽,從而判斷網絡狀況。通過系統提供的TrafficStats類進行判斷,它能夠獲取手機開機之后接手的網絡字節數。在請求前和請求后進行相減即可得到此次的請求字節。進而判斷網絡好壞。如果不支持,則獲取本地請求的響應體的字節數。
  • okhttp支持網絡攔截器。
  • okhttp支持CallAdapter。添加調用適配器工廠以支持除Call之外的服務方法返回類型。
  • okhttp支持Converter。添加轉換器工廠以進行對象的序列化和反序列化。
  • okhttp支持Call。指定用于創建Call實例的自定義call工廠。

提供一個門面類讓客戶端進行設置。

  • 通過傳入不同的服務器地址,返回不同的Retrofit實例。
  • 提供了REST API,包含上傳和下載文件的接口給客戶端。并提供回調。

門面類持有真正進行網絡請求的管理類。

  • 通過單例模式進行網絡請求。管理類內部通過Retrofit使用自定義的okhttp進行網絡請求。Retrofit的服務接口里面實現了REST API和上傳,下載的接口定義。需要傳入服務器地址和對應參數。
  • 所有的請求對象都是異步調用,并在請求的開始,獲得響應,結束的地方設置傳入的自定義回調函數。
  • 在請求之前會從數據庫加載已有的緩存信息,并判斷需要從服務器請求嗎,可以設置每次都從服務器拉去信息。有些緩存信息中包含了信息的有效緩存時間,要是超出緩存期限會促發網絡請求。網絡請求回來后會會在開辟的IO線程中將數據保存在數據庫,氛圍新增和更新。更新完畢后,從數據庫讀取最新消息,通過切換線程將請求結果發送到主線程。

轉載于:https://juejin.im/post/5ccffe30e51d453aa10dff3a

總結

以上是生活随笔為你收集整理的自定义网络请求框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。