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基础能力

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