Google 致力于为黑人社区推动种族平等。查看具体举措

Activity

上次更新时间 当前稳定版 下一候选版本 Beta 版 Alpha 版
2020 年 1 月 22 日 1.1.0 - - -

声明依赖项

要添加 Activity 的依赖项,您必须将 Google Maven 代码库添加到项目中。有关详情,请阅读 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

    dependencies {
        def activity_version = "1.1.0"

        // Java language implementation
        implementation "androidx.activity:activity:$activity_version"
        // Kotlin
        implementation "androidx.activity:activity-ktx:$activity_version"
    }
    

如需详细了解依赖项,请参阅添加编译依赖项

版本 1.1.0

版本 1.1.0

2020 年 1 月 22 日

发布了 androidx.activity:activity:1.1.0版本 1.1.0 中包含这些提交内容

自 1.0.0 以来的重要变更

  • Lifecycle ViewModel SavedState 集成:现在将 by viewModels()ViewModelProvider 构造函数或 ViewModelProviders.of()ComponentActivity 或其子类一起使用时,会使用 SavedStateViewModelFactory 作为默认出厂设置。

版本 1.1.0-rc03

2019 年 12 月 4 日

发布了 androidx.activity:activity:1.1.0-rc03androidx.activity:activity-ktx:1.1.0-rc03版本 1.1.0-rc03 中包含这些提交内容

依赖项变更

  • Activity 现在依赖于 Lifecycle 2.2.0-rc03 和 Lifecycle ViewModel SavedState 1.0.0-rc03

版本 1.1.0-rc02

2019 年 11 月 7 日

发布了 androidx.activity:activity:1.1.0-rc02androidx.activity:activity-ktx:1.1.0-rc02版本 1.1.0-rc02 中包含这些提交内容

依赖项变更

  • Activity 现在依赖于 Lifecycle 2.2.0-rc02

版本 1.1.0-rc01

2019 年 10 月 23 日

发布了 androidx.activity:activity:1.1.0-rc01androidx.activity:activity-ktx:1.1.0-rc01,这些版本与 1.1.0-beta01 相比没有变化。版本 1.1.0-rc01 中包含这些提交内容

版本 1.1.0-beta01

2019 年 10 月 9 日

发布了 androidx.activity:activity:1.1.0-beta01androidx.activity:activity-ktx:1.1.0-beta01版本 1.1.0-beta01 中包含这些提交内容

依赖项变更

  • Activity 现在依赖于 SavedState 1.0.0 稳定版。

版本 1.1.0-alpha03

2019 年 9 月 5 日

发布了 androidx.activity:activity:1.1.0-alpha03androidx.activity:activity-ktx:1.1.0-alpha03。点击此处可查看此版本中包含的提交内容。

新功能

  • Activity 现在依赖于 Core 1.1.0 稳定版。

问题修复

版本 1.1.0-alpha02

2019 年 8 月 7 日

发布了 androidx.activity:activity:1.1.0-alpha02androidx.activity:activity-ktx:1.1.0-alpha02。点击此处可查看此版本中包含的提交内容。

新功能

  • 现在将 by viewModels()ViewModelProvider 构造函数或 ViewModelProviders.of()ComponentActivity 一起使用时,会使用 SavedStateViewModelFactory 作为默认出厂设置 (b/135716331)。

版本 1.1.0-alpha01

2019 年 7 月 2 日

发布了 androidx.activity:activity:1.1.0-alpha01androidx.activity:activity-ktx:1.1.0-alpha01。点击此处可查看此版本中包含的提交内容。

新功能

  • activity 现在依赖于生命周期 2.2.0-alpha02。(aosp/1007817)
  • activity-ktx 新增了 lifecycle-runtime-ktx 的依赖项;当您使用 activity-ktx 或依赖于 activity-ktx 的库(例如 fragment-ktx)时,可以不必再将其明确添加到依赖项中 (aosp/987162)

版本 1.0.0

版本 1.0.0

2019 年 9 月 5 日

发布了 androidx.activity:activity:1.0.0androidx.activity:activity-ktx:1.0.0。点击此处可查看此版本中包含的提交内容。

1.0.0 的主要功能

  • ComponentActivityComponentActivityFragment 1.1.0 中充当 FragmentActivity 的新基类,由此引申开来,它在 AppCompat 1.1.0 中充当 AppCompatActivity 的新基类。
  • activity-ktxactivity-ktx 模块包含用于访问 ViewModel 的 by viewModels Kotlin 属性扩展。当您添加 Fragment1.1.0 中的 fragment-ktx 时,系统会自动添加此模块。
  • OnBackPressedDispatcher:作为替换 onBackPressed() 的可组合替代方案,您现在可以从任何 LifecycleOwner(如 Fragment)注册 OnBackPressedCallback来拦截系统返回按钮事件。具有接收器版本 addCallback 的 lambda 已添加到 activity-ktx。如需了解详情,请参阅提供自定义返回导航文档
  • onRetainCustomNonConfigurationInstance 弃用:已弃用 onRetainCustomNonConfigurationInstance() 和相关的 getLastCustomNonConfigurationInstance() API。强烈建议使用 ViewModel 来存储非配置状态,因为它可以提供适合任何 ViewModelStoreOwner 的可组合解决方案。ViewModelStoreOwner 可以明确保留的对象的所有权,并提供 onCleared() 回调,用于在最终销毁 Activity 时清理资源。

版本 1.0.0-rc01

2019 年 7 月 2 日

发布了 androidx.activity:activity:1.0.0-rc01androidx.activity:activity-ktx:1.0.0-rc01,这些版本与 1.0.0-beta01 相比没有变化。点击此处可查看此版本中包含的提交内容。

版本 1.0.0-beta01

2019 年 6 月 5 日

发布了 androidx.activity::activity:1.0.0-beta01androidx.activity:activity-ktx:1.0.0-beta01,这些版本与 1.0.0-alpha08 相比没有变化。点击此处可查看此版本中包含的提交内容。

版本 1.0.0-alpha08

2019 年 5 月 7 日

发布了 androidx.activity:activity:1.0.0-alpha08androidx.activity:activity-ktx:1.0.0-alpha08。点击此处可查看此版本中包含的提交内容。

API 变更

  • 重大更改:移除了 ComponentActivity 上先前已弃用的 addOnBackPressedCallbackremoveOnBackPressedCallback 方法。aosp/953857
  • OnBackPressedCallbacksetEnabled()isEnabled() 方法现已最终确定。b/131416833
  • OnBackPressedCallbackremove() 方法现已最终确定。aosp/952720
  • OnBackPressedDispatcher 现在具有公共构造函数,您可以使用它们来构造自己的实例以进行测试等等。aosp/953431
  • ComponentActivityonBackPressed() 现在已明确标记为 @MainThreadaosp/952721

问题修复

  • 修复了从使用 LifecycleOwner 添加的 OnBackPressedCalbackhandleOnBackPressed() 方法中调用 remove() 时出现的 ConcurrentModificationExceptionb/131765095

版本 1.0.0-alpha07

2019 年 4 月 25 日

发布了 androidx.activity:activity:1.0.0-alpha07androidx.activity:activity-ktx:1.0.0-alpha07。点击此处可查看此版本中包含的提交内容。

API 变更

此版本对 onBackPressed() 的处理方式进行了重大更改。如需了解详情,请参阅更新后的自定义返回导航文档

  • OnBackPressedCallbackOnBackPressedDispatcher 的方法已被标记为 @MainThread。(aosp/943813)
  • handleOnBackPressed() 方法不再返回 boolean。相反,OnBackPressedCallback 现在是一个可以启用或停用的抽象类 - 只有在新的 isEnabled() 方法返回 true 时,才会调用 handleOnBackPressed(),在这种情况下,您必须处理返回按钮。(aosp/944518)
  • OnBackPressedDispatcheraddCallback 方法不再返回 Cancellable 实例。OnBackPressedCallback 现在包含可实现此功能的 remove() 方法,允许您在 handleOnBackPressed() 期间调用 remove()。(aosp/944519) (aosp/946316)
  • activity-ktx 现在包含限定在接收器范围内的 addCallback 回调,该回调接受实现 handleOnBackPressed() 的 lamdba,并且可以访问 isEnabledremove() (aosp/944520)

版本 1.0.0-alpha06

2019 年 4 月 3 日

发布了 androidx.activity:activity:1.0.0-alpha06androidx.activity:activity-ktx:1.0.0-alpha06。点击此处可查看此版本中包含的提交内容。

API 变更

  • AppCompatActivity 现在包含采用 @LayoutRes int 的第二个构造函数,取代了以前使用 @ContentView 注释 AppCompatActivity 类的行为。此方法同时适用于应用和库模块。(b/128352521)
  • ComponentActivity 上的 OnBackPressedCallback 相关 API 已弃用,取而代之的是可通过 getOnBackPressedDispatcher() 检索的新 OnBackPressedDispatcher。(aosp/922523)
  • OnBackPressedDispatcher 添加新 OnBackPressedCallback 的方法现在会返回 Cancellable 对象,从而允许移除回调,而无需明确引用 OnBackPressedDispatcher。(aosp/922523)
  • 如果添加具有关联 LifecycleOwnerOnBackPressedCallback,现在会导致分别在 Lifecycle 开始和停止时添加和移除 OnBackPressedCallback。(aosp/922523)

版本 1.0.0-alpha05

2019 年 3 月 13 日

发布了 androidx.activity:activity:1.0.0-alpha05androidx.activity:activity-ktx:1.0.0-alpha05。点击此处可查看此版本中包含的完整提交内容列表。

新功能

  • 现在会缓存 @ContentView 注释查询 (b/123709449)

版本 1.0.0-alpha04

2019 年 1 月 30 日

发布了 androidx.activity:activity 1.0.0-alpha04androidx.activity:activity-ktx 1.0.0-alpha04

新功能

  • 添加了对 @ContentView 类注释的支持,您通过该注释来指明应膨胀哪个布局 XML 文件,以替代使用 setContentView()。(aosp/837619)

API 变更

  • 添加了一条说明,指明 getViewModelStore() 不应被替换,它将在未来的版本中设为 final。如果您当前正在替换此方法,请提交功能请求。(aosp/837619)

问题修复

  • 为了与 activity-ktx 模块的依赖项一致,activity 现在依赖于 ViewModel 的 2.1.0-alpha02 版本。

版本 1.0.0-alpha03

2018 年 12 月 17 日

发布了 androidx.activity 1.0.0-alpha03

新功能

  • ComponentActivity 现在可实现 BundleSavedStateRegistryOwner 并依赖于新发布的 SavedState 库 [aosp/815133]
  • ComponentActivity 现在解决了一个 Android 框架方面的问题,该问题会导致 InputMethodManager 泄露上次聚焦的视图 [b/37122102]

版本 1.0.0-alpha02

2018 年 12 月 3 日

API 变更

  • 添加了一条说明,指明 getLifecycle() 不应被替换,它将在未来的版本中设为 final。如果您当前正在替换此方法,请提交功能请求。(aosp/815834)

版本 1.0.0-alpha01

2018 年 11 月 5 日

androidx.activity 1.0.0-alpha01 引入了 ComponentActivity,它是现有 FragmentActivityAppCompatActivity 的一个新基类。

新功能

  • 您现在可以通过 addOnBackPressedCallback 注册 OnBackPressedCallback 来接收 onBackPressed() 回调,而无需在 Activity 中替换该方法。
  • 添加了新的 by viewModels() Kotlin 属性委托,用于从 ComponentActivity 检索 ViewModel
  • 现在,onStop() 中取消了待处理输入事件(例如点击)。

API 变更

  • LifecycleOwnerViewModelStoreOwner 的实现已从 FragmentActivity 移至 ComponentActivity
  • 已弃用 onRetainCustomNonConfigurationInstance。请使用 ViewModel 来存储配置更改后需要保留的对象。