Activity基類詳解(2) — 架構(gòu)概述

前言

在之前的時候,我已經(jīng)對Activity基類存在的問題做了詳細解說了,大家有興趣的話,可參看
Activity基類詳解(1) — 前言
那么今天就讓我們對Activity基類涉及到的類,和各類的功能,做一個整體的了解。

今天涉及內(nèi)容有:

  1. Activity基類涉及類
  2. 各類的功能闡述
  3. 我希望達到的效果

整體架構(gòu)圖


activity基類架構(gòu).png

一. Activity基類涉及類

目前我Activity基類功能涉及的類有以下幾個:

  • SuperActivity
  • AppActivity
  • SuperFragActivity
  • AppFragActivity

二. 各類的功能闡述

2.1 SuperActivity

SuperActivity繼承自AppCompatActivity,封裝了Activity基類涉及到的一些基本方法。其子類有兩個: AppActivitySuperFragActivity

2.2 AppActivity

AppActivity繼承自SuperActivity,在SuperActivity基礎(chǔ)之上實現(xiàn)了IPreActivity接口,從而具備了mvp模式,即具備了快速接入網(wǎng)絡(luò)通訊的能力。我們在創(chuàng)建一個不含fragmentActivity時,通常繼承此Activity

2.3 SuperFragActivity

SuperFragActivity繼承自SuperActivity,在SuperActivity基礎(chǔ)之上增加了Activityframent交互時的一些基本邏輯,以及Activityframent返回鍵上的處理。此Activity能幫助我們快速實現(xiàn)Activity加載frament的功能。其子類為AppFragActivity

2.4 AppFragActivity

AppFragActivity繼承自SuperFragActivity, 在SuperActivity基礎(chǔ)之上實現(xiàn)了IPreActivity接口,從而具備了mvp模式,即具備了快速接入網(wǎng)絡(luò)通訊的能力。我們在創(chuàng)建一個含t有fragmentActivity時,通常繼承此Activity

整體結(jié)構(gòu)如下:


activity基類架構(gòu).png

三. 我希望達到的效果

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

ok,今天的內(nèi)容就介紹到這里了,謝謝大家。

下篇 Activity基類詳解(3) — AppActivity基礎(chǔ)能力

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容