封裝基類Base含有一個(gè)isEmpty方法
簡(jiǎn)化視圖初始化和數(shù)據(jù)加載的過程一般的Activity里都會(huì)用到很多的findViewById這個(gè)方法,而且每次都要強(qiáng)制類型轉(zhuǎn)換,這樣會(huì)顯得很繁瑣。為了簡(jiǎn)化這個(gè)過程,可以在BaseActivity中封裝
簡(jiǎn)化視圖初始化和數(shù)據(jù)加載的過程
一般的Activity里都會(huì)用到很多的findViewById這個(gè)方法,而且每次都要強(qiáng)制類型轉(zhuǎn)換,這樣會(huì)顯得很繁瑣。為了簡(jiǎn)化這個(gè)過程,可以在BaseActivity中封裝一個(gè)公共方法findViewByIdWithType,該方法接收View的id和目標(biāo)類型,內(nèi)部實(shí)現(xiàn)中已經(jīng)包含了類型轉(zhuǎn)換,使用時(shí)只需要調(diào)用該方法即可獲取對(duì)應(yīng)的View。
另外,一般的Activity在初始化視圖和數(shù)據(jù)時(shí),也需要分別調(diào)用initView()和initData()方法,為了減少重復(fù)的代碼,可以在BaseActivity中暴露這兩個(gè)方法供子類調(diào)用。子類只需重寫這兩個(gè)方法,將自己特有的視圖初始化和數(shù)據(jù)加載邏輯放在其中,而無需再關(guān)心其它與Activity相關(guān)的操作。
處理用戶模塊相關(guān)的操作
大多數(shù)App都有登錄功能,根據(jù)用戶標(biāo)識(shí)id進(jìn)行一些網(wǎng)絡(luò)操作。因此,在BaseActivity中可以進(jìn)一步封裝一些用戶模塊相關(guān)的方法,比如獲取用戶id的方法getUserId()。通過在BaseActivity中定義這樣的方法,子類可以直接調(diào)用,避免了重復(fù)的代碼編寫和邏輯判斷。
簡(jiǎn)化參數(shù)傳遞的處理
在Activity之間進(jìn)行參數(shù)傳遞是常見的操作,為了簡(jiǎn)化這個(gè)過程,可以在BaseActivity中封裝一個(gè)參數(shù)處理的方法initParam()。在BaseActivity的onCreate方法中,可以判斷是否有參數(shù)傳遞過來,并在initParam()中處理傳遞過來的參數(shù)。子類只需重寫initParam()方法,根據(jù)自己的需求獲取和處理參數(shù)即可。
通過以上的封裝和簡(jiǎn)化,可以使得子類Activity的編寫更加簡(jiǎn)潔和高效。不再需要重復(fù)編寫一些固定的代碼,同時(shí)也提高了代碼的可讀性和可維護(hù)性。BaseActivity的存在使得整個(gè)項(xiàng)目的開發(fā)變得更加便捷和高效。