Android跟我一起来开发--微影之架构补充篇
2016-10-31 本文已影响1048人
岳小川
接上一篇《Android跟我一起来开发--微影之架构篇》,上一篇大概讲了讲本项目中mvp的用法,今天主要讲一下base包里的东西,一些基础类(公用方法的抽取,引用在生命周期的创建销毁)。当然了之前如果有不懂的地方可以留言。再次感谢各位大神的无私奉献(ヽ(≧Д≦)ノ)。
先po一张base包下的文件上来
base包
- BaseActivity 基础的Activity类,主要是一些生命周期的日志输出,沉浸式状态栏的初始设置,主题的初始化,activity管理的注入注销,泛型presenter的绑定置空等。
- BaseFragment 基础的Fragment类,功能和BaseActivity类似,其中将布局绑定抽象成了抽象方法子类实现,在onCreateView和onDestroyView中做一些事件的注册注销,BaseFragment还实现了懒加载的功能,其中懒加载的功能会在后边单独开一篇来介绍。
- BasePresenter 基础的Presenter,主要有attachView和detachView两个接口,用于view的连接和断离。
- SwipeBackActivity 右滑关闭的Actiivty
下边主要介绍RootView和RxPresenter
RootView其实是继承自LinearLayout的一个控件,其中根据所有view的使用情况抽取了一些公共变量,公共方法和一些抽象方法。
RootView- mActive是否属于当前活跃view,它的判定主要放在onAttachedToWindow和onDetachedFromWindow,在Presenter根据view是否活跃来取决于是否继续做一些耗时操作(继续读取网络数据等)
- mContext Context的引用
- unbinder ButterKnife的绑定
-
mPresenter 在RootView中做view与presenter的绑定与解绑 具体操作如下
RxPresenter是基于Rx的封装,控制订阅的生命周期
其中主要有两个方法:addSubscribe和unSubscribe,订阅和取消订阅。在view的生命周期中CompositeSubscription持有所有的Subscriptions,在attachView和detachView中来添加订阅和取消所有订阅。attachView和detachView的调用时机刚才在RootView中也做了说明。
以上所有Base类算讲完了,具体的使用方法可以参照源码
qq交流群:138485840
下载地址:微影
源码地址:Ghost
欢迎大家下载和Star