/**************************************************************************************************
* 本博客为优快云博主【MK】原创,博客地址:http://blog.youkuaiyun.com/mkrcpp/article/details/14166121
**********************************************************************************************************************/
打开ThinkAndroid框架最显眼的莫过于根目录下的TAActivity和TAApplication。
看着阵势就是让我们以后写的Activity都继承于TAActivity,待研究一番后,确实如此。
TAActivity
最重要的就是其onCreate方法
@Override protected void onCreate(Bundle savedInstanceState) { notifiyApplicationActivityCreating(); onPreOnCreate(savedInstanceState); super.onCreate(savedInstanceState); getTAApplication().getAppManager().addActivity(this); initActivity(); onAfterOnCreate(savedInstanceState); notifiyApplicationActivityCreated(); }
TAActivity提供了onPreOnCreate方法,onAfterOnCreate方法,以后继承的Activity只需重写这两个就能完成大部分任务。
在onPreOnCreate和onAfterOnCreate之间,调用了自己的 super.onCreate,但是还没有绑定布局,再下面有个initActivity方法,在这个方法里,自动完成了初始化注解元素,设置显示的布局等一系列动作。
private void initActivity() { // 初始化模块名 getModuleName(); // 初始化布局名 getLayouName(); // 加载类注入器 initInjector(); // 自动加载默认布局 loadDefautLayout(); }
代码注释的很清楚,首先通过命名规范自动获取布局的名字,然后initInjector初始化注解的属性,最后loadDefaultLayout来设置显示的布局,一切都自动化了,不需要自己写setContentView......
通过研究TAActivity,以后如果想用Fragment,那么完全可以自己写个TAFragment了,大同小异。
/**************************************************************************************************
* 本博客为优快云博主【MK】原创,博客地址:http://blog.youkuaiyun.com/mkrcpp/article/details/14166121
**********************************************************************************************************************/