当前位置: 首页 > 知识库问答 >
问题:

扩展LifecycleActivity、Activity、ActionbarActivity&AppCompactActivity之间的区别?

齐博厚
2023-03-14

在Android中,扩展Lifecycler活动、Activity、ActionBarActivity和AppCompactActivity之间的主要区别是什么?这些类在用法方面有何不同?

共有1个答案

仲孙德惠
2023-03-14
  • 扩展ActionBarActivity为您提供了每个API级别上的ActionBar的功能>=7
  • 通过扩展activity可以避免向项目中添加其他项目/库,但在api级别低于11
  • 的情况下,会缺少 actionbar

编辑:更多详细信息:

ActionBarActivity是支持库的一部分。支持库用于在较旧的平台上交付较新的特性。例如,actionbar是在API 11中引入的,默认情况下是activity的一部分(实际上取决于主题)。相反,在较旧的平台上没有actionbar。因此支持库添加了activity(ActionBaractivity)的子类,该子类提供了ActionBar的功能和ui

Edit2:2015年4月更新-支持库的修订版22.1.0中似乎不推荐使用ActionBaractivity。应改用appcompattivity

编辑3:2017年8月更新-LifecycleActivity是LifecycleOwner,但:

“由于体系结构组件处于alpha阶段,Fragment和AppCompattivity类无法实现它(因为我们无法从稳定的组件向不稳定的API添加一个依赖项)。在Lifecycle稳定之前,为了方便起见提供了LifecycleActivity和LifecycleFragment类。Lifecycles项目发布后,支持库碎片和活动将实现LifecycleOwner接口;届时LifecycleActivity和LifecycleFragment将被弃用。”

(复制自体系结构组件指南)

 类似资料:
  • 我目前正在阅读有关通配符的文章,但我不知道它们之间是否有任何区别?扩展了Animal,E扩展了Animal。

  • 我正在尝试添加菜单在我的应用程序中,我发现,当它工作时,如果它扩展AppCompattivity,但不是如果它扩展Activity。是菜单中没有任何活动可用的东西吗?人们说Activity是基本的,而appcompatition是后来发展起来的东西,有什么好的理由我应该使用Activity而不是appcompatition吗?由于AppCompattivity是默认的,但在我的学习中,建议选择Ac

  • 问题内容: 我无法理解为什么我们在PHP中需要2个XML解析器。 有人可以解释两者之间的区别吗? 问题答案: 简而言之: SimpleXml 用于简单的XML和/或简单的UseCases 与节点一起使用的有限API(例如,不能对接口进行太多编程) 所有节点属于同一种类(元素节点与属性节点相同) 节点可以魔术访问,例如 DOM 适用于您可能拥有的任何XML UseCase 是W3C DOM API的

  • 那么,和到底有什么区别呢?什么时候我们应该偏爱一个而不是另一个?

  • 问题内容: 创建一个Today小部件,我用来保留一些数据。在主应用程序中,我正在使用。这不能由扩展读取(或可以?),这就是为什么我使用构造函数。 用户在主应用程序中持久存储的数据需要在扩展程序中可用。 目前,我坚持两者,以便可以共享这些值 问题是我应该将它们放在一起并仅在我的应用程序中使用,还是这种不好的做法? 编辑:我正在使用一个应用程序组容器。为了澄清起见,我问我是否应该在整个项目中用suit

  • 我正在学习片段,在我制作的应用程序中,我有一个底部导航栏,第一个有一个带有ViewPager2的片段。对于viewpager2,我创建了一个扩展FragmentStateAdapter的自定义适配器,首先我使用了接收FragmentActivity的构造函数,然后使用了接收FragmentManager和生命周期的构造函数。我使用它们的方式如下: 两者似乎都工作正常,但我想知道使用一个或另一个之间