接上一篇《Android跟我一起來開發(fā)--微影之架構(gòu)篇》,上一篇大概講了講本項(xiàng)目中mvp的用法孩锡,今天主要講一下base包里的東西酷宵,一些基礎(chǔ)類(公用方法的抽取,引用在生命周期的創(chuàng)建銷毀)浮创。當(dāng)然了之前如果有不懂的地方可以留言忧吟。再次感謝各位大神的無私奉獻(xiàn)(ヽ(≧Д≦)ノ)。
先po一張base包下的文件上來
base包
- BaseActivity 基礎(chǔ)的Activity類斩披,主要是一些生命周期的日志輸出溜族,沉浸式狀態(tài)欄的初始設(shè)置,主題的初始化垦沉,activity管理的注入注銷煌抒,泛型presenter的綁定置空等。
- BaseFragment 基礎(chǔ)的Fragment類厕倍,功能和BaseActivity類似寡壮,其中將布局綁定抽象成了抽象方法子類實(shí)現(xiàn),在onCreateView和onDestroyView中做一些事件的注冊注銷,BaseFragment還實(shí)現(xiàn)了懶加載的功能况既,其中懶加載的功能會在后邊單獨(dú)開一篇來介紹这溅。
- BasePresenter 基礎(chǔ)的Presenter,主要有attachView和detachView兩個(gè)接口棒仍,用于view的連接和斷離悲靴。
- SwipeBackActivity 右滑關(guān)閉的Actiivty
下邊主要介紹RootView和RxPresenter
RootView其實(shí)是繼承自LinearLayout的一個(gè)控件,其中根據(jù)所有view的使用情況抽取了一些公共變量莫其,公共方法和一些抽象方法癞尚。
RootView
- mActive是否屬于當(dāng)前活躍view,它的判定主要放在onAttachedToWindow和onDetachedFromWindow乱陡,在Presenter根據(jù)view是否活躍來取決于是否繼續(xù)做一些耗時(shí)操作(繼續(xù)讀取網(wǎng)絡(luò)數(shù)據(jù)等)
- mContext Context的引用
- unbinder ButterKnife的綁定
-
mPresenter 在RootView中做view與presenter的綁定與解綁 具體操作如下
RxPresenter是基于Rx的封裝,控制訂閱的生命周期
其中主要有兩個(gè)方法:addSubscribe和unSubscribe浇揩,訂閱和取消訂閱。在view的生命周期中CompositeSubscription持有所有的Subscriptions憨颠,在attachView和detachView中來添加訂閱和取消所有訂閱胳徽。attachView和detachView的調(diào)用時(shí)機(jī)剛才在RootView中也做了說明。
以上所有Base類算講完了烙心,具體的使用方法可以參照源碼
qq交流群:138485840
下載地址:微影
源碼地址:Ghost
歡迎大家下載和Star