一,概述
OkHttp是一個處理網(wǎng)絡(luò)請求的開源項(xiàng)目,是安卓端最火熱的輕量級框架,由移動支付公司Square貢獻(xiàn),用來替代HttpUrlConnection和Apache HttpClient. Apache HttpClient在android 6.0已經(jīng)移除,詳見官網(wǎng)
下面一起看下OkHttp官網(wǎng)的介紹
OkHttp的優(yōu)點(diǎn):
- 支持Http2.0, Http2.0允許相同主機(jī)地址的所有請求共享一個socket
- 如果Http2.0不可用,那么使用連接池減少開銷
- 透明的GZIP壓縮
- 使用緩存避免重復(fù)網(wǎng)絡(luò)請求
- 如果服務(wù)端有多個IP地址,當(dāng)?shù)谝淮芜B接失敗時,會選擇其他備用的IP地址重試
- 支持同步和異步請求回調(diào)
- OkHttp支持android2.3及其以上,支持java1.7及其以上
... ...
二,項(xiàng)目中引入OkHttp
1,引入OkHttp jar包
下載OkHttp jar包,然后導(dǎo)入項(xiàng)目即可.
jar地址見官網(wǎng)內(nèi)鏈接
2,Maven方式引入
配置如下
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
</dependency>
3,Gradle方式引入
一句話引入
compile 'com.squareup.okhttp3:okhttp:3.6.0'
三,將OkHttp源碼導(dǎo)入AS
如果我們想要比較方面的查看OkHttp的源碼或者在項(xiàng)目中引入OkHttp需要改動定制,那么需要將OkHttp源碼導(dǎo)入到AS中.
但是從github下載的源碼有比較多的工程,以及不是android工程,導(dǎo)入報錯. 下面介紹一個關(guān)聯(lián)的方法.
1,github下載OkHttp源碼
下載解壓后會發(fā)現(xiàn)里面有很多的工程,我們只關(guān)心okhttp這個工程
2,導(dǎo)入OkHttp源碼
1)在新建的工程里面,在創(chuàng)建一個名字為okhttp3的包
2)復(fù)制代碼文件
將下面的源代碼 ./okhttp-master/okhttp/src/main/java/okhttp3中的所有文件和文件夾都拷貝到上面新建的包中
3)導(dǎo)入okio
OkHttp依賴okio, 需要在gradle中添加依賴
compile 'com.squareup.okio:okio:1.11.0'
然后build即可.
如上我們就可以方面的修改和查看OkHttp的代碼