1. 程式人生 > >Rxjava2(第二篇)

Rxjava2(第二篇)

來自:

 部落格專家

Android實戰——RxJava2+Retrofit+RxBinding解鎖各種新姿勢

個人分類: 今年大三了

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_30379689/article/details/68958173

本文已授權微信公眾號:鴻洋(hongyangAndroid)原創首發。

前言

作為主流的第三方框架Rx系列,不學習也不行啊,對於初學者來說,可能RxJava看起來很難,用起來更難,但是你要知道,越複雜的東西往往能解決越複雜的問題,有可能你應用在專案中,也許你在面試的時候,就會和初級工程師拉開一大段距離。這門課程需要大家有Retrofit的基礎,如果想學習Retrofit的同學可以檢視我的部落格,廢話不多說,Hensen老師開車了。

RxJava2的介紹

用原話就是:RxJava2是一個在Java虛擬機器上,使用可觀察的序列構成基於事件的,非同步的程式庫。不理解沒關係,可以類比成我們的AsyncTask,這樣就好理解多了

RxJava2觀察者模式的介紹

觀察者模式就是RxJava使用的核心點,掌握這個模式,可以理解RxJava更簡單,觀察者模式簡單的說就是”訂閱-釋出”的模式,舉一例子說,當你訂閱某家牛奶店的早餐奶(訂閱過程),只要牛奶店生產牛奶,便會給你送過去(釋出過程)。這裡的牛奶店只有一家,但是訂閱的人可以很多,這是一種一對多的關係,只要牛奶店釋出牛奶,那麼訂閱的人就會收到牛奶。換做RxJava裡面的話,牛奶店就是被觀察者(Observable),訂閱的人就是觀察者(Observer)

RxJava2觀察者模式的使用

這裡我們舉一例子學校點名的例子,首先建立我們所說的觀察者和被觀察者

public interface Observable {
    //訂閱
    public void attach(Observer observer);
    //取消訂閱
    public void detach(Observer observer);
    //釋出
    public void notifyObservers(String message);
}
public interface Observer {
    //給個名字來分辨不同的觀察者
    void setName(String name);
    //觀察者的方法
    void say(String message);
}