前言
在之前的時候,我已經(jīng)對Activity基類存在的問題做了詳細解說了,大家有興趣的話,可參看
Activity基類詳解(1) — 前言
那么今天就讓我們對Activity基類涉及到的類,和各類的功能,做一個整體的了解。
今天涉及內(nèi)容有:
-
Activity基類涉及類 - 各類的功能闡述
- 我希望達到的效果
整體架構(gòu)圖

一. Activity基類涉及類
目前我Activity基類功能涉及的類有以下幾個:
- SuperActivity
- AppActivity
- SuperFragActivity
- AppFragActivity
二. 各類的功能闡述
2.1 SuperActivity
SuperActivity繼承自AppCompatActivity,封裝了Activity基類涉及到的一些基本方法。其子類有兩個: AppActivity 和 SuperFragActivity
2.2 AppActivity
AppActivity繼承自SuperActivity,在SuperActivity基礎(chǔ)之上實現(xiàn)了IPreActivity接口,從而具備了mvp模式,即具備了快速接入網(wǎng)絡(luò)通訊的能力。我們在創(chuàng)建一個不含fragment的Activity時,通常繼承此Activity
2.3 SuperFragActivity
SuperFragActivity繼承自SuperActivity,在SuperActivity基礎(chǔ)之上增加了Activity與frament交互時的一些基本邏輯,以及Activity與frament在返回鍵上的處理。此Activity能幫助我們快速實現(xiàn)Activity加載frament的功能。其子類為AppFragActivity
2.4 AppFragActivity
AppFragActivity繼承自SuperFragActivity, 在SuperActivity基礎(chǔ)之上實現(xiàn)了IPreActivity接口,從而具備了mvp模式,即具備了快速接入網(wǎng)絡(luò)通訊的能力。我們在創(chuàng)建一個含t有fragment的Activity時,通常繼承此Activity
整體結(jié)構(gòu)如下:

三. 我希望達到的效果
由上面我們不難看出,真正要統(tǒng)籌各種場景下的Activity基類的時候,我們需要用到兩個Activity: AppActivity和AppFragActivity。它們都能實現(xiàn)有網(wǎng)絡(luò)加載和無網(wǎng)絡(luò)加載情況下Activity的快速構(gòu)建,不同的是一個具備快速加載fragment的能力,而另一個沒有。這里我們能明顯發(fā)現(xiàn)一個問題,那就是AppActivity和AppFragActivity在功能上存在重復(fù),那就是快速加載mvp模式。因此,我希望做到的是AppActivity和AppFragActivity能合二為一,然后就是說明文檔的整理。那么下節(jié)我將對Activity基類進行一個這樣的優(yōu)化,并對其使用做一個詳細介紹。
ok,今天的內(nèi)容就介紹到這里了,謝謝大家。