本文中引入的是截止2018年5月5號最新的OKHttp3+Retrofit2+Rxjava2庫。和部分網絡上的文章代碼可能有部分出入。
1、引入OKHttp3
compile 'com.squareup.okhttp3:okhttp:3.4.1'
2、引入Retrofit
compile 'com.squareup.retrofit2:retrofit:2.4.0'
3、引入RxJava,這裏需要同時加上RxAndroid,方便進行主線程的切換
compile 'io.reactivex.rxjava2:rxandroid:2.0.2'
compile 'io.reactivex.rxjava2:rxjava:2.1.13'
4、引入RxJava和Retrofit之間的連接器,用於Retrofit可以直接產生RxJava的Observable對象,原本是返回Call對象的。
這裏需要注意我們引用的都是2版本的,使用RxJava2和Retrofit2。有個1版本的adapter,引用錯了會報錯。
compile 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
5、引入Gson庫和用於Retrofit將返回的response轉換成model的convert庫
compile 'com.google.code.gson:gson:2.8.4'
compile 'com.squareup.retrofit2:converter-gson:2.4.0'
如果想查詢上面的庫的最新版本,可以通過mvnrepository庫進行版本查詢,對應的混淆proguard方式可以通過github搜索。
後面會介紹如何該框架進行網絡操作,以及添加統一的日誌打印、網絡數據緩存、統一異常處理、封裝。