iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0

前言介紹
在這篇文章中,我們將探討 RxJava 和 Retrofit 的核心概念,並了解它們如何協同工作以實現高效的 Android 應用程式開發。我們將介紹觀察者(Observer)和被觀察者(Observable)的概念,以及如何使用 RxJava 和 Retrofit 來簡化異步操作和處理網絡請求。

RxJava 是一個強大的反應式編程庫,它引入了觀察者模式,使得異步操作和事件處理變得更容易。RxJava 的核心概念包括觀察者、被觀察者、操作符等,它們共同形成了一個強大的異步編程框架。我們將探討如何使用 RxJava 創建觀察者,訂閱事件,並使用操作符來轉換和處理數據流。

Retrofit 則是一個用於處理網絡請求的庫,它基於注解和接口定義,使得定義和發送 HTTP 請求變得簡單明瞭。我們將介紹如何配置 Retrofit,創建 API 服務接口,並使用 Retrofit 來執行網絡請求,同時處理伺服器返回的數據。

這篇文章將幫助你理解 RxJava 和 Retrofit 的基本概念,以及如何在 Android 開發中使用它們,以實現非同步操作和網絡請求的最佳實踐。

介紹
我們有三個需要介紹的部分有 (Observe)觀察者、(Observable)被觀察者、

  1. Observe 觀察者
    在 RxJava 中,觀察者(Observer)是一個設計模式的實現,用於監聽並響應被觀察者(Observable)的事件或數據流。觀察者模式是一種行為型設計模式,它允許一個對象(觀察者)監聽另一個對象(被觀察者)的狀態變化,當被觀察者的狀態發生變化時,觀察者會收到通知並執行相應的操作。
    https://ithelp.ithome.com.tw/upload/images/20230913/20161502N4c8uEnM5z.png
    總之(Observe)觀察者是接收結果的角色。
    在他的底下有四種方法分別為
           @Override
           public void onSubscribe(@NonNull Disposable d) {
           }
           //連線成功做動作
           @Override
           public void onNext(@NonNull List<jsonplaceholderdata> jsonplaceholderdata) {

           }
           //連線失敗做動作
           @Override
           public void onError(@NonNull Throwable e) {
           }
           //完成所有執行做動作
           @Override
           public void onComplete() {
           }
  1. Observable(被觀察者)
    被觀察者是 RxJava 中的一個重要角色,它代表了事件的發生源頭或者是製造麻煩的人。Observable 負責發射(發布)事件流,並通知觀察者(Observer)這些事件。

總結

  1. 觀察者(Observer):觀察者是一個接口或抽象類,它定義了用戶端應該如何處理從被觀察者發出的事件。觀察者通常包括三個方法:onNext 用於處理正常事件,onError 用於處理錯誤事件,onCompleted 用於處理完成事件。觀察者通常是被動的,它們等待被觀察者發出事件,然後執行相應的操作。

  2. 被觀察者(Observable):被觀察者是一個表示事件序列的抽象概念,它可以發出一系列事件,這些事件可以被觀察者訂閱(subscribe)。被觀察者負責發出事件,觀察者則負責處理這些事件。被觀察者可以是一個實際的數據源,如傳感器、網絡請求,也可以是一個已有的數據結構,如集合或數組。

  3. 訂閱(Subscribe):訂閱是觀察者與被觀察者之間的一個操作,它建立了一個連接,使觀察者能夠接收被觀察者發出的事件。當觀察者訂閱一個被觀察者時,它通常會指定如何處理不同類型的事件,包括正常事件、錯誤事件、完成事件等。一旦訂閱建立,被觀察者就可以開始發出事件,觀察者會根據訂閱時指定的處理邏輯來處理這些事件

參考文章:https://jefflin1982.medium.com/rxjava2-%E5%88%9D%E6%AD%A5%E8%A7%A3%E8%AA%AA-0-8d77ca036bae


上一篇
Day23 - popupwindow 內遷 RecycleView的方法
下一篇
Day25 - Rxjava x Retrofit
系列文
Android studio使用過程與開發說明30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言