1. 程式人生 > >Retrofit2+okhttp3 使用教程

Retrofit2+okhttp3 使用教程

Retrofit介紹:
Retrofit(GitHub主頁https://github.com/square/okhttp)和OkHttp師出同門,也是Square的開源庫,它是一個型別安全的網路請求庫,Retrofit簡化了網路請求流程,基於OkHtttp做了封裝,解耦的更徹底:比方說通過註解來配置請求引數,通過工廠來生成CallAdapter,Converter,你可以使用不同的請求介面卡(CallAdapter), 比方說RxJava,Java8, Guava。你可以使用不同的反序列化工具(Converter),比方說json, protobuff, xml, moshi等等。
官網 http://square.github.io/retrofit/
github https://github.com/square/retrofit

Retrofit使用:
1.在build.gradle中新增如下配置

?
1 compile 'com.squareup.retrofit2:retrofit:2.0.2'

2.初始化Retrofit

?
1 2 3 4 5 retrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(FastJsonConverterFactory.create())
.client(mOkHttpClient) .build();

3.初始化OkHttpClient

?
1 2 3 4 5 6 7 8 9 OkHttpClient.Builder builder = new OkHttpClient().newBuilder() .connectTimeout(10, TimeUnit.SECONDS)//設定超時時間 .readTimeout(10, TimeUnit.SECONDS)
//設定讀取超時時間 .writeTimeout(10, TimeUnit.SECONDS);//設定寫入超時時間 int cacheSize = 10 * 1024 * 1024; // 10 MiB Cache cache = new Cache(App.getContext().getCacheDir(), cacheSize); builder.cache(cache); builder.addInterceptor(interceptor); mOkHttpClient = builder.build();
關於okHttp的攔截器、Cache-Control等這裡就不再做解說了

4.關於ConverterFactory
對於okHttpClient的初始化我們都已經很熟悉了,對ConverterFactory初次接觸多少有點陌生,其實這個就是用來統一解析ResponseBody返回資料的。

常見的ConverterFactory

?
1

相關推薦

Retrofit2+okhttp3 使用教程

Retrofit介紹: Retrofit(GitHub主頁https://github.com/square/okhttp)和OkHttp師出同門,也是Square的開源庫,它是一個型別安全的網路請求庫,Retrofit簡化了網路請求流程,基於OkHtttp做了封裝

關於Retrofit2+Okhttp3實現統一新增請求引數和重定向

Android開發中難免會遇到一些比較“不友好”的服務端介面。比如以前遇到的json資料中,某個欄位偶爾為Object,偶爾為List… 最近遇到的一個問題就是:所有請求介面都要增加一個token引數… 並且token引數有可能過期,比如請求某一條介面,如果token失效則在該請求

RxJava2+Retrofit2+OkHttp3遇到的問題

剛開始玩這個。遇到的問題記錄下做個筆記。 問題1.transformResourcesWithMergeJavaResForDebug Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDeb

RetrofitCache 讓 retrofit2+okhttp3+rxjav 配置快取如此簡單。

RetrofitCache 專案地址:yale8848/RetrofitCache  簡介:RetrofitCache 讓 retrofit2+okhttp3+rxjav 配置快取如此簡單。通過註解配置,可以針對每一個介面靈活配置快取策略;同時讓每一個介面方便支援資料模擬,可以程式

Androif Rxjava+RxAndroid+ReTrofit2+okHttp3使用

在 app 的 build.gradle 中 dependencies{ / /網路請求框架Rxjava+RxAndroid+ReTrofit2+okHttp3+RxBinding //匯入retrofit implementation '

基於MVP模式,設計自己的RxJava+Retrofit2+Okhttp3+Rxlifecycle開發框架

在開發階段,如果有一個好的開發框架,不僅能提高開發效率,更能減少後期維護的時間。結合自己的實際,封裝了一套MVP+RxJava+Retrofit2+Okhttp3+Rxlifecycle+Butterknife的開發框架。架構層:V層只負責檢視的操作,P層只負責資料的互動,M

【Android】RxJava2+Retrofit2+OkHttp3的基礎、封裝和專案中的使用

前言: 近些年很火的Retrofit+RxJava+OkHttp網路請求框架,功能強大,結構合理,使用簡單方便。後面還會給大家發自己整理過的Retrofit和RxJava、RxAndroid和RxBus。希望大家點一下關注,讓我這個懶癌患者有動力繼續寫下去! 本

Retrofit2+okHttp3使用樣例

在這裡為大家介紹下Retrofit2+okHttp3這個目前較為流行網路框架的使用過程,gradle新增依賴過程不再敘述,這裡只介紹請求,檔案的上傳下載本篇不表。 本文針對的讀者群體為沒使用過Retrofit於okHttp的開發人員,老司機可以直接拉到評論區,為新手指點迷津

Android Retrofit2&OkHttp3新增統一的請求頭Header

在使用Retrofit時,有時候需要設定Set-Cookie等請求頭,如果每一個url都需要,那麼直接來個攔截器就好了。 官方說明: OkHttp3下OkHttpClient的 List< Interceptor> interce

Retrofit2,okhttp3 通過攔截器進行快取

本文出自:http://blog.csdn.net/u010286855/article/details/52608485;這篇部落格主要和大家說說okhttp的快取。之前踩了好多坑,反正看了很多帖子做了很多試驗,發現網上的很多都不怎麼麼正確,我的疑問也一直沒有解決。今天這個

Android端使用Retrofit2+OkHttp3+FastJson快速構建前後端完全分離專案

Hello,大家好,有一段時間沒更新部落格了,因為最近有點忙。話不多說,切入正題!   之前自己寫的一個Android專案,但是這個專案架構並不是很好,專案各模組的依賴性很強,尤其是資料和介面這塊,所以我想把前後端分離的概念應用到本專案中。   專案後端使用SSM框架開發

Android Retrofit2&OkHttp3新增統一的請求頭Header

在使用Retrofit時,有時候需要設定Set-Cookie等請求頭,如果每一個url都需要,那麼直接來個攔截器就好了. 讓所有網路請求都附上你的 token: Interceptor mToke

Okhttp3之簡單使用教程(一)

一,HTTP請求、響應報文格式 要弄明白網路框架,首先需要先掌握Http請求的,響應的報文格式。 HTTP請求報文格式: HTTP請求報文主要由請求行、請求頭部、請求正文3部分組成. request.png   請求行:由請求方法,URL,協議版本三部分

Android Retrofit 2.0(二)使用教程OkHttp3 + Gson + RxJava

系列文章推薦:相關資料新增依賴compile 'com.squareup.okhttp3:okhttp:3.3.1' compile 'com.squareup.retrofit2:retrofit:2.1.0'別忘在Manifest裡新增許可權<uses-permis

基本使用——OkHttp3詳細使用教程

概述 OkHttp現在應該算是最火的Http第三方庫,Retrofit底層也是使用OkHttp,網上很多教程都寫的不錯,但是有些我認為重要的知識,大多一筆帶過,所以我決定寫一篇入門文章 出現背景 網路訪問的高效性要求,可以說是為高效而生 解決

Retrofit2.0入門教程

Retrofit的官方文件前面我已經把現在最為流行三個網路框架的其中兩個volley和Okhttp3擼了一遍,接下來我就把最後的一個Retrofit2也擼一下。最近也搞了一下Android SDK開發的事,發現網上對於Android SDK開發的資料真的很少。到時我會把這個框

Android 網路訪問框架retrofit2okhttp3之簡單封裝,kotlin原始碼

本文章需要用到的引用//okhttp compile 'com.squareup.okhttp3:okhttp:3.8.0' //retrofit compile 'com.squareup.retrofit2:retrofit:2.3.0' //rxjava compile

OkHttp3.0入門教程

以前對於寫部落格來說總覺得很麻煩 ,不過隨著不斷地開發工作發現寫部落格不僅僅可以記錄自己的一些學習的知識還可以鞏固自己學習的知識,對技術的理解程度也會更深,雖然開始的時間有點晚 不過堅持下去就是好的。今天主要記錄一下OkHttp3.0的入門教程 一,開發環

RxJava2+Retrofit2+RxLifecycle3+OkHttp3網路請求封裝

入職公司後,公司要求元件化開發,經過討論後我將網路請求框架單獨進行了封裝,不過當時框架裡將常用的util和ui均放入到了共同的Common包下,導致裡面部分程式碼耦合,後來為了降低耦合性又將Common拆分為了lib_common和lib_ui,但是lib_ui依賴了lib_common

Retrofit2+Rxjava2+OKHttp3+RxAndroid 實現網路請求的demo案例

在之前的專案中一直都用著比較老的網路框架,比如volly,okgo,okhttp等等,平時寫demo 的時候偶爾也會用到新的框架拿來練練手,這兩天寫了一個關於retrofit2的案例,分享出來。 大牛們恐怕已經寫到爛的了,有不足請多多指教。 demo開始前,先匯