前言
在之前的时候,我已经对Activity基类
存在的问题做了详细解说了,大家有兴趣的话,可参看
Activity基类详解(1) — 前言
那么今天就让我们对Activity基类
涉及到的类,和各类的功能,做一个整体的了解。
今天涉及内容有:
-
Activity基类
涉及类 - 各类的功能阐述
- 我希望达到的效果
整体架构图
一. Activity基类涉及类
目前我Activity基类
功能涉及的类有以下几个:
- SuperActivity
- AppActivity
- SuperFragActivity
- AppFragActivity
二. 各类的功能阐述
2.1 SuperActivity
SuperActivity
继承自AppCompatActivity
,封装了Activity
基类涉及到的一些基本方法。其子类有两个: AppActivity
和 SuperFragActivity
2.2 AppActivity
AppActivity
继承自SuperActivity
,在SuperActivity
基础之上实现了IPreActivity
接口,从而具备了mvp模式
,即具备了快速接入网络通讯
的能力。我们在创建一个不含fragment
的Activity
时,通常继承此Activity
2.3 SuperFragActivity
SuperFragActivity
继承自SuperActivity
,在SuperActivity
基础之上增加了Activity
与frament
交互时的一些基本逻辑,以及Activity
与frament
在返回键
上的处理。此Activity
能帮助我们快速实现Activity
加载frament
的功能。其子类为AppFragActivity
2.4 AppFragActivity
AppFragActivity
继承自SuperFragActivity
, 在SuperActivity
基础之上实现了IPreActivity
接口,从而具备了mvp模式
,即具备了快速接入网络通讯
的能力。我们在创建一个含t有fragment
的Activity
时,通常继承此Activity
整体结构如下:
三. 我希望达到的效果
由上面我们不难看出,真正要统筹各种场景下的Activity基类
的时候,我们需要用到两个Activity
: AppActivity
和AppFragActivity
。它们都能实现有网络加载和无网络加载情况下Activity
的快速构建,不同的是一个具备快速加载fragment
的能力,而另一个没有。这里我们能明显发现一个问题,那就是AppActivity
和AppFragActivity
在功能上存在重复,那就是快速加载mvp模式
。因此,我希望做到的是AppActivity
和AppFragActivity
能合二为一,然后就是说明文档的整理。那么下节我将对Activity基类
进行一个这样的优化,并对其使用做一个详细介绍。
ok,今天的内容就介绍到这里了,谢谢大家。