日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Retrofit+OKHttp+RxJava的使用

發布時間:2023/12/20 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Retrofit+OKHttp+RxJava的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是響應式編程?

????????響應式編程是一種基于異步數據 流概念的編程模式。數據流就像一條河:它可以被觀測,被過濾,被操作,或者為新的消費者與另外一 條流合并為一條新的流。

什么是RxJava?

  • ?RxJava 是一種響應式編程,來創建基于事件的異步操作庫。基于事件流的鏈式調用、邏輯清晰簡潔。?
  • RxJava 我的理解是將事件從起點(上游)流向終點(下游),中間有很多卡片對數據進操作并傳 遞,每個卡片獲取上一個卡片傳遞下來的結果然后對事件進行處理然后將結果傳遞給下一個卡片, 這樣事件就從起點通過卡片一次次傳遞直到流向終點。

RxJava本質上是一個異步操作庫,是一個能讓你用極其簡潔的邏輯去處理繁瑣復雜任務的異步事件庫。?

觀察者模式

????????Android中View的點擊監聽器的實現,View是被觀察者,OnClickListener對象是觀察者, Activity要如何知道View被點擊了?那就是派一個OnClickListener對象,入駐View,與View達成一個訂 閱關系,一旦View被點擊了,就通過OnClickListener對象的OnClick方法傳達給Activity。采用觀察者模 式可以避免去輪詢檢查,節約有限的cpu資源。

Retrofit+OkHTTP+RxJava+RecycleView的實現步驟?

要引入項目依賴

//添加RxJava依賴 implementation "io.reactivex.rxjava3:rxjava:3.0.0" //添加RxAndroid依賴,專門用于Android的Rx庫 implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'//銜接 Retrofit & RxJava,此處一定要注意使用RxJava2的版本 implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0' //添加Retrofit依賴 implementation 'com.squareup.retrofit2:retrofit:2.5.0' //添加Gson解析 implementation 'com.squareup.retrofit2:converter-gson:2.5.0' //添加圖片加載庫依賴 implementation 'com.github.bumptech.glide:glide:4.12.0'

?首先要定義接口

public interface GETInterface {@GET("api/hotlist?type=36Ke")Observable<News> getObservable();}

然后是在Activity中的實現方法?

  • ?創建請求接口
  • 開始網絡請求
  • 處理返回結果
  • private void getObservable() {Retrofit retrofit=new Retrofit.Builder().baseUrl("https://api.vvhan.com/").addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJava2CallAdapterFactory.create()).build();GETInterface request = retrofit.create(GETInterface.class);Observable<News> observable = request.getObservable();observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<News>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(News news) {adapter.setNews(news.getData());}@Overridepublic void onError(Throwable e) {Log.i("onError", "連接失敗");}@Overridepublic void onComplete() {Log.i("onComplete", "連接完成");}});}

    總結

    以上是生活随笔為你收集整理的Retrofit+OKHttp+RxJava的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。