我认为 Activity 已被弃用
不。
那么对于 API 级别 22(至少支持 API 级别 15 或 16),我究竟应该使用什么来托管组件和组件本身?所有这些都有用吗,还是我应该几乎只使用一两个?
Activity
是基线。Activity
每个活动都直接或间接地继承自。
FragmentActivity
用于support-v4
和support-v13
库中找到的片段的反向移植。在 API 级别 11 中添加了片段的本机实现,低于您的建议minSdkVersion
值。您需要特别考虑的唯一原因FragmentActivity
是您是否要使用嵌套片段(一个片段包含另一个片段),因为在 API 级别 17 之前,本机片段不支持这一点。
AppCompatActivity
来自appcompat-v7
图书馆。原则上,这提供了操作栏的反向移植。由于本机操作栏是在 API 级别 11 中添加的,因此您不需要这样做AppCompatActivity
。但是,就操作栏和各种小部件而言,当前版本appcompat-v7
还添加了 Material Design 美学的有限反向移植。使用 的优点和缺点appcompat-v7
远远超出了这个特定的 Stack Overflow 答案的范围。
ActionBarActivity
是来自 的基础活动的旧名称appcompat-v7
。由于种种原因,他们想改名。除非您使用的某些第三方库坚持使用ActionBarActivity
,否则您应该更AppCompatActivity
喜欢ActionBarActivity
.
因此,鉴于您minSdkVersion
在 15-16 范围内:
只需从注释中添加注释:AppCompatActivity
extends FragmentActivity
,因此任何需要使用功能的人FragmentActivity
都可以使用AppCompatActivity
。