本庫是一款基於Retrofit2+RxJava實現簡單易用的網絡請求框架,結合android平臺特性的網絡封裝庫,採用api鏈式調用一點到底,集成cookie管理,多種緩存模式,極簡https配置,上傳下載進度顯示,請求錯誤自動重試,請求攜帶token、時間戳、簽名sign動態配置,自動登陸成功後請求重發功能,3種層次的參數設置默認全局局部,默認標準ApiResult同時能夠支持自定義的數據結構,已經能知足如今的大部分網絡請求。
注:Retrofit和Rxjava是當下很是火爆的開源框架,均來自神通常的Square公司。本庫就不介紹Retrofit和Rxjava的用法。java
網上好的開源網絡庫像Volley、async-http、okhttp、retrofit等都很是強大,可是實際應用中咱們不會直接去使用,通常都會根據本身的業務再封裝一層,這樣更方便快捷,又能統一處理業務共性的東西例如:統一的數據結構(code、msg、data)、token處理、網絡異常等狀況。在使用retrofit來請求網絡的時候,項目的需求愈來愈多,api也隨之愈來愈多,一個普通的應用api通常也在100+左右。若是把這些api放在一個ApiService內會很臃腫,不利於查看api.若是採用模塊的方式對api進行分類,每一個模塊對應若干個api.以retrofit的使用方式又須要建立若干個ApiService,這種方式維護方便,可是模塊增多了,類也增多了不少。對於懶人來講就想經過一個URL就能回調你所須要的數據,什麼ApiService都不想理會,同時又能夠很快的與本身的業務相關聯,就相似於代替你在開源網絡庫基礎上再封裝一層的做用,因而本庫就應運而生。android
比Retrofit使用更簡單、更易用。git
採用鏈式調用一點到底github
加入基礎ApiService,減小Api冗餘api
支持動態配置和自定義底層框架Okhttpclient、Retrofit.緩存
支持多種方式訪問網絡GET、POST、PUT、DELETE等請求協議cookie
支持網絡緩存,六種緩存策略可選,涵蓋大多數業務場景網絡
支持固定添加header和動態添加header數據結構
支持添加全局參數和動態添加局部參數框架
支持文件下載、多文件上傳和表單提交數據
支持文件請求、上傳、下載的進度回調、錯誤回調,也能夠自定義回調
支持默認、全局、局部三個層次的配置功能
支持任意數據結構的自動解析
支持添加動態參數例如timeStamp時間戳、token、簽名sign
支持自定義的擴展API
支持多個請求合併
支持Cookie管理
支持異步、同步請求
支持Https、自簽名網站Https的訪問、雙向驗證
支持失敗重試機制,能夠指定重試次數、重試間隔時間
支持根據ky刪除網絡緩存和清空網絡緩存
提供默認的標準ApiResult解析和回調,而且可自定義ApiResult
支持取消數據請求,取消訂閱,帶有對話框的請求不須要手動取消請求,對話框消失會自動取消請求
支持請求數據結果採用回調和訂閱兩種方式
api設計上結合http協議和android平臺特色來實現,loading對話框,實時進度條顯示
返回結果和異常統一處理
結合RxJava,線程智能控制
郵箱地址: 478319399@qq.com
QQ羣: 581235049(建議使用QQ羣,郵箱使用較少,可能看的不及時)
本羣旨在爲使用個人github項目的人提供方便,若是遇到問題歡迎在羣裏提問。一我的的能力也有限,但願一塊兒學習一塊兒進步。
關注個人github,瞭解個人最新項目。關注個人博客,閱讀個人最新文章。