Retrofit目前較為流行的網(wǎng)絡(luò)請求框架引矩,與之前的對比如下:
retrofit負(fù)責(zé)封裝請求接口堕阔,okhttp負(fù)責(zé)完成網(wǎng)絡(luò)請求:
簡單使用步驟:Android Retrofit 2.0 的詳細(xì) 使用攻略(含實例講解) - 簡書
步驟1:添加Retrofit庫的依賴
步驟2:創(chuàng)建 接收服務(wù)器返回數(shù)據(jù) 的類
步驟3:創(chuàng)建 用于描述網(wǎng)絡(luò)請求 的接口
步驟4:創(chuàng)建 Retrofit 實例
步驟5:創(chuàng)建 網(wǎng)絡(luò)請求接口實例 并 配置網(wǎng)絡(luò)請求參數(shù)
步驟6:發(fā)送網(wǎng)絡(luò)請求(異步 / 同步)
支持http所有請求方法:put,get结闸,post迟郎,delete辫狼,path,head数焊,options永淌。
例如:
baseUrl為基地址,完整的url為:http://fanyi.youdao,com/users/user/repos佩耳,user會被替換為輸入的字符串遂蛀。
標(biāo)記類:
請求參數(shù):
舉例:
數(shù)據(jù)解析器:
目前更新到了rxjava2.x? ?四個基礎(chǔ)的接口:這可能是最好的RxJava 2.x 教程(完結(jié)版) - 簡書
Publisher、Subscriber干厚、Subscription李滴、Processor螃宙。Publisher?可以發(fā)出一系列的事件,而?Subscriber?負(fù)責(zé)和處理這些事件所坯。
其中用的比較多的自然是?Publisher?的?Flowable谆扎,它支持背壓。
背壓概念:背壓是指在異步場景中芹助,被觀察者發(fā)送事件速度遠(yuǎn)快于觀察者的處理速度的情況下堂湖,一種告訴上游的被觀察者降低發(fā)送速度的策略。
設(shè)計采用觀察者模式:
? Observable ( 被觀察者 ) / Observer ( 觀察者 )
Flowable (被觀察者)/ Subscriber (觀察者)
線程調(diào)度:subscribeOn()?指定的就是發(fā)射事件的線程周瞎,observerOn?指定的就是訂閱者接收事件的線程苗缩。
例子:被觀察者在io線程,觀察者在主線程声诸。
四種線程可以選擇:
Schedulers.io()代表io操作的線程, 通常用于網(wǎng)絡(luò),讀寫文件等io密集型的操作酱讶;
Schedulers.computation()代表CPU計算密集型的操作, 例如需要大量計算的操作;
Schedulers.newThread()代表一個常規(guī)的新線程彼乌;
AndroidSchedulers.mainThread()代表Android的主線程
操作符的操作參考上面的鏈接