android-我将开发一个应用程序,它的api介于api 15和最新api之间。我有一点怀疑。
差异
1.Java类扩展AppcompatActivity并且
2.Java类扩展Activity并且
3.Java类扩展ActionBarActivity
如果有人给我下了明确的定义,我肯定会在我的问题的答案上打勾。
提前谢谢。:)

最佳答案

扩展ActionBarActivity在每个api级别上都提供ActionBar的功能>=7
通过扩展Activity可以避免向项目中添加额外的项目/库,但在低于11的api级别上,您将缺少ActionBar
ActionBarActivitySupport Library的一部分。支持库用于在较旧的平台上提供较新的功能。例如ActionBar是在api 11中引入的,默认情况下是Activity的一部分(具体取决于主题)。相比之下,在旧平台上没有ActionBar。因此,支持库添加了一个子活动类(ActionBarActivity),它提供了ActionBar的功能和ui
新的不推荐使用的ActionBarActivity版本(扩展AppCompatActivity类的版本)是一个安全的向后兼容类。它的反对只是提示您直接使用newAppCompatActivityAppCompatActivity是一个新的、更通用的实现,它在内部使用AppCompatDelegate类。
例如,您从外部库继承活动,而外部库又不是从AppCompatActivity继承,但您希望此活动具有着色材质小部件(视图)。要实现它,您需要在活动内部创建AppCompatDelegate的实例,该活动的override方法,如addContentView()setContentView()等(方法的完整列表请参见AppCompatDelegatejavadoc),并在这些重写的方法内部将调用转发到内部AppCompatDelegate实例。AppCompatDelegate将完成剩下的工作,您的“旧时尚”活动将“物化”。
资料来源:thisthis

10-07 23:07