封装之路 (二)BaseActivity

来源:互联网 发布:判断车头距离 知乎 编辑:程序博客网 时间:2024/04/29 03:38

封装之路 (二)BaseActivity
目标 :作为封装,实现BaseActivity,基于Dagger2+Databinding的模式。

当前主要实现基础的框架,后期慢慢加入其他,像Toast之类的,直接疯转在外部控件之列,不在BaseActivity里面,使得BaseActivity尽可能的清晰一些。
自定义Activity,继承BaseActivity即可,实现它的三个抽象方法。

getLayoutId,返回Layout值即可,比如R.layout.main这种。

initDagger不要返回值,主要是让初始化Dagger2,这里为什么没有帮忙实现,主要是这个情况太多,去做不太现实,所以放出去让自己去做吧。需要注意,这里提供了一个获取AppComponent的方法,目标便是让在依赖的时候,能够轻松拿到app的组件。

initData 初始化其他信息即可。

其他可以复写的方法

initDataBinding 默认帮助实现了Databinding的初始化,如果想自定义,直接复写,自己去实现即可。
如果需要双击退出,可以直接使用复写方法实现:
getDoubleClickExit 返回是否需要双击退出提示语,默认false
getExitTxtId 返回双击退出的提示语信息,默认提示,双击退出。

比起之前做的架构,这里activity简化了许多,原因是之前view很重,现在采用mvvm的思路,因此会将那些耦合的消息事件初始化之类的放入vm那边,到时会配合着这边做相关的对应处理。
项目地址:
https://github.com/luxiaoming/xmCore
路漫漫系其修远兮,吾将上下而求索。

0 0
原创粉丝点击