1. 程式人生 > >RxEasyHttp網路庫簡介(一)

RxEasyHttp網路庫簡介(一)

RxEasyHttp

本庫是一款基於Retrofit2+RxJava實現簡單易用的網路請求框架,結合android平臺特性的網路封裝庫,採用api鏈式呼叫一點到底,整合cookie管理,多種快取模式,極簡https配置,上傳下載進度顯示,請求錯誤自動重試,請求攜帶token、時間戳、簽名sign動態配置,自動登入成功後請求重發功能,3種層次的引數設定預設全域性區域性,預設標準ApiResult同時可以支援自定義的資料結構,已經能滿足現在的大部分網路請求。
注:Retrofit和Rxjava是當下非常火爆的開源框架,均來自神一般的Square公司。本庫就不介紹Retrofit和Rxjava的用法。

為什麼會封裝此庫?

網上好的開源網路庫像Volley、async-http、okhttp、retrofit等都非常強大,但是實際應用中我們不會直接去使用,一般都會根據自己的業務再封裝一層,這樣更方便快捷,又能統一處理業務共性的東西例如:統一的資料結構(code、msg、data)、token處理、網路異常等情況。在使用retrofit來請求網路的時候,專案的需求越來越多,api也隨之越來越多,一個普通的應用api一般也在100+左右。如果把這些api放在一個ApiService內會很臃腫,不利於檢視api.如果採用模組的方式對api進行分類,每個模組對應若干個api.以retrofit的使用方式又需要建立若干個ApiService,這種方式維護方便,但是模組增多了,類也增多了很多。對於懶人來說就想通過一個URL就能回撥你所需要的資料,什麼ApiService都不想理會,同時又可以很快的與自己的業務相關聯,就類似於代替你在開源網路庫基礎上再封裝一層的作用,於是本庫就應運而生。

特點

  • 比Retrofit使用更簡單、更易用。
  • 採用鏈式呼叫一點到底
  • 加入基礎ApiService,減少Api冗餘
  • 支援動態配置和自定義底層框架Okhttpclient、Retrofit.
  • 支援多種方式訪問網路GET、POST、PUT、DELETE等請求協議
  • 支援網路快取,六種快取策略可選,涵蓋大多數業務場景
  • 支援固定新增header和動態新增header
  • 支援新增全域性引數和動態新增區域性引數
  • 支援檔案下載、多檔案上傳和表單提交資料
  • 支援檔案請求、上傳、下載的進度回撥、錯誤回撥,也可以自定義回撥
  • 支援預設、全域性、區域性三個層次的配置功能
  • 支援任意資料結構的自動解析
  • 支援新增動態引數例如timeStamp時間戳、token、簽名sign
  • 支援自定義的擴充套件API
  • 支援多個請求合併
  • 支援Cookie管理
  • 支援非同步、同步請求
  • 支援Https、自簽名網站Https的訪問、雙向驗證
  • 支援失敗重試機制,可以指定重試次數、重試間隔時間
  • 支援根據ky刪除網路快取和清空網路快取
  • 提供預設的標準ApiResult解析和回撥,並且可自定義ApiResult
  • 支援取消資料請求,取消訂閱,帶有對話方塊的請求不需要手動取消請求,對話方塊消失會自動取消請求
  • 支援請求資料結果採用回撥和訂閱兩種方式
  • api設計上結合http協議和android平臺特點來實現,loading對話方塊,實時進度條顯示
  • 返回結果和異常統一處理
  • 結合RxJava,執行緒智慧控制

聯絡方式

郵箱地址: [email protected]
QQ群: 581235049(建議使用QQ群,郵箱使用較少,可能看的不及時)
本群旨在為使用我的github專案的人提供方便,如果遇到問題歡迎在群裡提問。一個人的能力也有限,希望一起學習一起進步。
關注我的github,瞭解我的最新專案。關注我的部落格,閱讀我的最新文章。

歡迎加入QQ交流群

演示


相關推薦

RxEasyHttp網路簡介

RxEasyHttp 本庫是一款基於Retrofit2+RxJava實現簡單易用的網路請求框架,結合android平臺特性的網路封裝庫,採用api鏈式呼叫一點到底,整合cookie管理,多種快取模式,極簡https配置,上傳下載進度顯示,請求錯誤自動重

計算機網路起源 網路發展簡介

“上網”這個有些口語化的詞彙,想必沒人會覺得陌生,可是“網”到底是什麼?   網際網路概念   截圖自百度百科: https://baike.baidu.com/item/%E4%BA%92%E8%81

muduo網路學習對io複用的封裝Poller,面向物件與基於物件

高效併發的網路框架大多離不開io多路複用函式,Linux下有三種 select poll epoll 關於三者的區別可以參考 linux網路程式設計—–幾種伺服器模型及io多路複用函式 前段時間看Libevent原始碼時也學習過對epoll/poll/

MySQL數據基礎——MySQL數據簡介

MySQLMySQL數據庫基礎(一)——MySQL數據庫簡介 一、MySQL簡介 1、MySQL簡介 MySQL是一個輕量級關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。目前MySQL被廣泛地應用在Internet上的中小型網站中,由於體積小、速度快、總體擁有成本低,開放源碼

Python資料分析numpy方法簡介

Numpy功能簡介: 1.官網:www.numpy.org 2.特點:(1)高效的多維矩陣/陣列;    (2);複雜的廣播功能    (3):有大量的內建數學統計函式 矩陣(多維陣列): 一維陣列:  ([ 值1,值2,值3]) 維維陣列: ([[1,2,3],[4,5,6]])

脈衝神經網路之Tempotron簡介

脈衝神經網路之Tempotron簡介        脈衝神經網路(SNN)這個概念在上個世紀就被提出,現在也不算什麼新的模型。但它和傳統BP神經網路還是很不一樣的,最近加入的實驗室做的就是這個方向,因此一直在學這個東西。這篇文章就由本人用來記錄些學習過的內容,同時也作分享用,有理解錯的地方希望有大佬能來指

jsp中讀取數據內容

reat cor mysq ava roo 數據 state imp nav 在jsp中將數據庫表格內容讀出為一個表格,並在表格中添加超鏈接: 1 <%@ page language="java" contentType="text/html; charset=U

圖書管理系統總結——數據操作

set 結果集 static () block csdn .com oid 取數據 由於經常在晚上回宿舍寫代碼,沒有網,故而沒用老師提供的Oracle數據庫服務器,在自己電腦上裝了一個MySQL。而且JAVA配MySQL還是很方便的。 數據庫連接: 參考了http://b

數據入門

數據庫入門 數據庫軟件 java平臺 1.數據保存 數據保存在內存: 優點: 存取速度快 缺點: 數據不能永遠保存 數據保存在文件: 優點: 數據永遠保存 缺點:

【java】簡介

編碼 http ... 設計 適合 不能 高度 代碼格式 操作系統 應用:web後端開發、android-app開發、大數據應用開發 學習:java會過時,但程序設計的思想不會過時 特點:1、面向對象,跨平臺,語法比c++簡單     2、以字節碼的形式運行在虛擬機上   

Linux簡介——

組成 mac os x 入門 不同 單機 默認 自己 dha 軟件 1。 常見操作系統 - 服務端操作系統 : linux、unix、windows server - 單機操作系統 : windows(dos 、ucdos、win95、win

Java面試-數據

t對象 計時 具體類 分離 根據 變化 第二範式 類加載 關系 1、用兩種方式根據部門號從高到低,工資從低到高列出每個員工的信息。 1 employee: 2 3 eid,ename,salary,deptid; 4 5 select * from employeeo

數據筆記--數據基礎

sel -s style lan pri ati mys esc 常用 一、語法要求 1、SQL語句可以單行或多行書寫,以分號結尾。 2、可以用空格和縮進來來增強語句的可讀性。 3、關鍵字不區別大小寫,建議使用大寫。 二、語句分類 1、DDL(Data De

我們一起學習Spring之Spring簡介

邏輯 style 發的 nfa 不同的 構建 john 局限 認識   首先聲明,我是一個spring初學者,寫這篇blog的目的是為了能和大家交流。文中不當之處還望大佬指出,不勝感激!   好了,現在我們開始進入正題。   很多小夥伴在學習Java的時候都會有人建議你去學

數據語句

set 通用 五個 和數 完成 面向過程 bms 補充 分析 很快,我們就進入到我們數據庫課程的核心章節,語句章節,首先我們先談談sql,其是結構化查詢語句,是關系數據庫的標準語言,同時,sql也是一個通用,功能極強的關系數據庫語言。其特點有五個,分別為 1)綜合統一

SpringCloud微服務簡介

一起 轉發 例如 sset 雲服務 心跳檢測 因此 靈活性 dubbo Spring Cloud簡單認識  微服務英文名稱Microservice,Microservice架構模式就是將整個Web應用組織為一系列小的Web服務。這些小的Web服務可以獨立地編譯及

flume簡介

gpo body events emp 簡單實例 buffers bind 通過 .sh 緒論:   本文的內容包括flume的背景、數據流模型、常見的數據流操作、flume agent啟動和flume agent簡單實例。參考文檔為flume官網的flume1.8.0 F

數據設計概念、內容、步驟和參考資料

及其 用戶 各類 都沒有 處理 步驟 有效 database 意思 概念 百度百科對數據庫設計的給了如下的描述: 數據庫設計(Database Design)是指對於一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用

PowerPC中斷系統簡介

PowerPC 中斷1. PowerPC中斷系統簡介PowerPC處理器的中斷系統由兩部分組成,一是內核的中斷及異常的處理;二是中斷控制器。以P2020處理器為例,包括E500內核中斷及異常處理系統和OpenPIC中斷控制器。在E500內核中,包含兩種可以暫時中止處理器運行當前指令的事件、中斷和異常。其中,異

PCI簡介

PCIX86處理器系統簡介X86主板布局PCI是Peripheral Component Interconnect(外設部件互連標準)的縮寫,本文介紹x86處理器系統下PCI相關知識。x86主板圖如圖 1.1所示:圖 1.1 X86主板布局從圖中可以看出,靠近CPU的是北橋芯片(North Bridge),北