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

前言

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

今天涉及內容有:

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

整體架構圖


一. Activity基類涉及類

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

  • SuperActivity
  • AppActivity
  • SuperFragActivity
  • AppFragActivity

二. 各類的功能闡述

2.1 SuperActivity

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

2.2 AppActivity

AppActivity繼承自SuperActivity,在SuperActivity基礎之上實現了IPreActivity接口,從而具備了mvp模式,即具備了快速接入網絡通訊的能力。我們在創建一個不含fragmentActivity時,通常繼承此Activity

2.3 SuperFragActivity

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

2.4 AppFragActivity

AppFragActivity繼承自SuperFragActivity, 在SuperActivity基礎之上實現了IPreActivity接口,從而具備了mvp模式,即具備了快速接入網絡通訊的能力。我們在創建一個含t有fragmentActivity時,通常繼承此Activity

整體結構如下:


三. 我希望達到的效果

由上面我們不難看出,真正要統籌各種場景下的Activity基類的時候,我們需要用到兩個Activity: AppActivityAppFragActivity。它們都能實現有網絡加載和無網絡加載情況下Activity的快速構建,不同的是一個具備快速加載fragment的能力,而另一個沒有。這裏我們能明顯發現一個問題,那就是AppActivityAppFragActivity在功能上存在重複,那就是快速加載mvp模式。因此,我希望做到的是AppActivityAppFragActivity能合二爲一,然後就是說明文檔的整理。那麼下節我將對Activity基類進行一個這樣的優化,並對其使用做一個詳細介紹。

ok,今天的內容就介紹到這裏了,謝謝大家。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章