如果您谈谈Activity
,AppcompactActivity
,ActionBarActivity
等等等等。
我们需要讨论它们正在扩展的基类,首先,我们必须了解超类的层次结构。
所有事物都是从上下文开始的,它是所有这些类的超类。
Context是一个抽象类,其实现由Android系统提供。它允许访问特定于应用程序的资源和类,以及对应用程序级操作(如启动活动,广播和接收意图等)的调用
Context
后跟或扩展 ContextWrapper
该ContextWrapper是扩展类的上下文类,仅代表其所有调用另一个上下文。可以子类化以修改行为,而无需更改原始上下文。
现在我们到达 Activity
该活动是一个延伸的类ContextThemeWrapper这是一个单一的,集中的一点是,用户可以做。几乎所有活动都与用户互动,因此Activity类负责为您创建一个窗口
以下类被限制为扩展,但它们由其内部的下级扩展,并为特定的Api提供支持
所述SupportActivity是一类,其延伸的活动,是用于构成一起兼容性功能的基类
所述BaseFragmentActivityApi14是一类,其延伸SupportActivity
即一个基类它被限制类,但它是由延伸
BaseFragmentActivityApi16支持的功能V14
所述
BaseFragmentActivityApi16是其延伸的一类
BaseFragmentActivityApi14即对于{@code基类
FragmentActivity },以便能够使用V16的API。但是它也是受限制的类,但是它被FragmentActivity扩展以支持V16的功能。
现在为FragmentActivty
该FragmentActivity是延伸的一类
BaseFragmentActivityApi16并希望使用基于支持片段和装载机的API。
当使用此类而不是新平台的内置片段和加载程序支持时,必须分别使用getSupportFragmentManager()
和getSupportLoaderManager()
方法来访问这些功能。
ActionBarActivity是支持库的一部分。支持库用于在旧平台上提供新功能。例如,ActionBar是在API 11中引入的,默认情况下是Activity的一部分(实际上取决于主题)。相反,在较旧的平台上没有ActionBar。因此,支持库添加了Activity的子类(ActionBarActivity),该子类提供ActionBar的功能和用户界面
2015年,支持库的版本22.1.0中弃用了ActionBarActivity。应该改用AppCompatActivity。
该AppcompactActivity是延伸的一类
FragmentActivity是对于使用支持库操作栏功能活动的基类。
您可以在API级别7或更高级别上运行时将ActionBar添加到活动中,方法是扩展活动的此类并将活动主题设置为Theme.AppCompat
或类似主题
我把这两个一,二
FragmentActivity
ies。您仅托管Fragment
。在较新的Android版本上,Activity
类本身已更新为直接托管它们。为了支持较旧的版本FragmentActivity
而引入。