Activity基类详解(2) — 架构概述

2021-04-29  本文已影响0人  奔跑的佩恩

前言

在之前的时候,我已经对Activity基类存在的问题做了详细解说了,大家有兴趣的话,可参看
Activity基类详解(1) — 前言
那么今天就让我们对Activity基类涉及到的类,和各类的功能,做一个整体的了解。

今天涉及内容有:

  1. Activity基类涉及类
  2. 各类的功能阐述
  3. 我希望达到的效果

整体架构图


activity基类架构.png

一. Activity基类涉及类

目前我Activity基类功能涉及的类有以下几个:

二. 各类的功能阐述

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基类架构.png

三. 我希望达到的效果

由上面我们不难看出,真正要统筹各种场景下的Activity基类的时候,我们需要用到两个Activity: AppActivityAppFragActivity。它们都能实现有网络加载和无网络加载情况下Activity的快速构建,不同的是一个具备快速加载fragment的能力,而另一个没有。这里我们能明显发现一个问题,那就是AppActivityAppFragActivity在功能上存在重复,那就是快速加载mvp模式。因此,我希望做到的是AppActivityAppFragActivity能合二为一,然后就是说明文档的整理。那么下节我将对Activity基类进行一个这样的优化,并对其使用做一个详细介绍。

ok,今天的内容就介绍到这里了,谢谢大家。

下篇 Activity基类详解(3) — AppActivity基础能力

上一篇下一篇

猜你喜欢

热点阅读