继上一篇博客已经好几个月没发布新博客了,中间因为教研室项目原因转手C#几个月,然后又加上各种事情(再加上懒 - -!)就落下了,并且有好多小伙伴给我留言上一篇播客的问题我都没能解答,在此给各位小伙伴说声抱歉了。 今天,又重拾安卓,准备慢慢构建一个自己的安卓快速开发框架,算是经验的总结和积累。网上这种东西很多,但是对于很多初学者而言需要的是动手实践,与此同时,不免就有自己 的感想,因此呢,我也动手并分享出来和大家一起学习。
为什么我们要构建一个BaseActivity呢,无非因为以下两点:
- 1、避免重复代码
- 2、统一管理
那么OK,我们构建一个自己的BaseActivity首先有什么需求呢?
这是一个简单的Base,方便我们其他的Activity直接继承使用。
从上面可以看出,我们有3个需求,那么我们都放到一个BaseActivity就OK了,在这一个Activity写状态栏、toolbar、日志。但是,这样的话我们如果某个Activity不需要toorbar或者状态栏了怎么办呢?是不是又不能继承了。所以,我们可以将这两个功能拆开,写两个Activity,如果不需要其中一个功能,继承另一个就OK了。
经上面分析,我们此刻需要3个Activity,一个SuperActivity,一个StatusActivity,一个ToolBarActivity就OK了。
|
|
在这个Activity中,我们在子类传递的布局上面添加了一个头部状态栏,颜色和ToolBar一样。先别着急,再看一下我们的ToolBarActivity:
|
|
我们在ToorBarActivity中写了ToorBar的实现,因为我们的ToolBar是include方式加入到子Activity中的,所以我们是按照正常的方式初始化ToolBar并写了它的一些方法。
最终我们的加载顺序是这样的:
1、先加载子Activity的Layout(包括ToolBar)
2、再加载顶部状态栏
3、再初始化ToolBar(findviewbyid)
4、再初始化其他控件(findviewbyid)
总体的过程就是这样,我这个BaseActivity比较简单,只是帮助入门者建立一个这样的构建思想,建立自己的框架概念和体系。
下一篇我会带大家一起封装一些常用的工具类+ButterKnife+retrofit+RXJava,敬请期待。
csdn地址:http://blog.csdn.net/u012534831
github地址:https://github.com/qht1003077897/AppFrame
个人博客地址:https://qht1003077897.github.io/
QQ:1003077897
欢迎交流。