/**************************************************************************************************
* 本博客為CSDN博主【MK】原創,博客地址:http://blog.csdn.net/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了,大同小異。
/**************************************************************************************************
* 本博客為CSDN博主【MK】原創,博客地址:http://blog.csdn.net/mkrcpp/article/details/14166121
****************************************************************