(三)RxJava 2常用オペレータmerge、flatmap、zip-MVPアーキテクチャと組み合わせて説明する
7012 ワード
効果図は以下の通りです.
demo3.gif
Demo3 1.merge適用シーン:複雑なページは一度に複数のインタフェースを呼び出す2.flatMapアプリケーションシーン:1つのインタフェース呼び出し時に別のインタフェースの戻り値に依存する、1つのインタフェース呼び出しが成功した後に2番目のインタフェースを呼び出すか、2番目のインタフェースがパラメータ呼び出しとして1番目のインタフェースの戻り値を必要とする.zipアプリケーションシーン:UIを表示するには、2つのインタフェースのデータが結合しています.
MVPコードによる実装
接続クラスcontact
データ層Model
ビジネスクラスpresenter
(一)ガウスファジイによる毛ガラス効果、共有要素アニメーション、アドレスセレクタ(二)京東頂部伸縮グラデーション、カスタムviewpagerインジケータ、viewpager 3 D回廊、recyclerview滝流(四)擬支付宝トップページ頂部伸縮スライド/中間層ドロップダウンブラシ新(五)TabLayout+ViewPager懸濁吸頂及びリフレッシュ数アニメーション表示(六)QQトップページdrawer/横滑り削除/浮動imgaeView/角標ドラッグ(7)微信を真似てモーメンツドラッグ削除を発表
更新を続ける..好きでも嫌いでも、一人で分かち合って、あなたを助けてほしい.
ソースアドレス:Github転送ゲート
demo3.gif
Demo3 1.merge適用シーン:複雑なページは一度に複数のインタフェースを呼び出す2.flatMapアプリケーションシーン:1つのインタフェース呼び出し時に別のインタフェースの戻り値に依存する、1つのインタフェース呼び出しが成功した後に2番目のインタフェースを呼び出すか、2番目のインタフェースがパラメータ呼び出しとして1番目のインタフェースの戻り値を必要とする.zipアプリケーションシーン:UIを表示するには、2つのインタフェースのデータが結合しています.
MVPコードによる実装
接続クラスcontact
public interface IDemo3Contract {
interface View extends IView {
void setData1(String rate);
void setData2(List dataList);
void setData3(String data3);
void setData4(List dataList);
}
interface Presenter extends IPresenter {
void getMergeData();
void getFlatMapData(String type);
void getZipData();
}
interface Model extends IModel {
void getMergeData(Observer
データ層Model
public class Demo3Model extends BaseModel implements IDemo3Contract.Model {
@Override
public void getMergeData(Observer
ビジネスクラスpresenter
public class Demo3Presenter extends BasePresenter implements IDemo3Contract.Presenter {
@Override
protected IDemo3Contract.Model createModel() {
return new Demo3Model();
}
@SuppressWarnings("unchecked")
@Override
public void getMergeData() {
mView.showDialogLoading();
mModel.getMergeData(new Observer
(一)ガウスファジイによる毛ガラス効果、共有要素アニメーション、アドレスセレクタ(二)京東頂部伸縮グラデーション、カスタムviewpagerインジケータ、viewpager 3 D回廊、recyclerview滝流(四)擬支付宝トップページ頂部伸縮スライド/中間層ドロップダウンブラシ新(五)TabLayout+ViewPager懸濁吸頂及びリフレッシュ数アニメーション表示(六)QQトップページdrawer/横滑り削除/浮動imgaeView/角標ドラッグ(7)微信を真似てモーメンツドラッグ削除を発表
更新を続ける..好きでも嫌いでも、一人で分かち合って、あなたを助けてほしい.
ソースアドレス:Github転送ゲート