Savedstate
最新更新 | 稳定版 | 候选版本 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | 1.2.1 | - | - | 1.3.0-alpha01 |
声明依赖项
要添加对 SavedState 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.2.1" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.2.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.2.1") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.2.1") }
有关依赖项的更多信息,请参阅添加构建依赖项。
反馈
您的反馈有助于改进 Jetpack。如果您发现新的问题或有改进此库的想法,请告诉我们。在创建新的问题之前,请查看此库中现有的问题。您可以通过点击星号按钮为现有问题添加您的投票。
有关更多信息,请参阅问题跟踪器文档。
版本 1.3
版本 1.3.0-alpha01
2024 年 8 月 7 日
androidx.savedstate:savedstate:1.3.0-alpha01
和 androidx.savedstate:savedstate-ktx:1.3.0-alpha01
已发布。版本 1.3.0-alpha01 包含这些提交。
API 更改
savedstate-ktx
Kotlin 扩展现已移至基本 savedstate 模块。(I1cc18,b/274803094)
注意
- 将
compileSdk
更新到 35(5dc41be)
版本 1.2.1
版本 1.2.1
2023 年 3 月 22 日
androidx.savedstate:savedstate:1.2.1
和 androidx.savedstate:savedstate-ktx:1.2.1
已发布。版本 1.2.1 包含这些提交。
依赖项更新
SavedState
现在依赖于Lifecycle2.6.1
。(c1f621)
版本 1.2.0
版本 1.2.0
2022 年 6 月 29 日
androidx.savedstate:savedstate:1.2.0
和 androidx.savedstate:savedstate-ktx:1.2.0
已发布。版本 1.2.0 包含这些提交。
自 1.1.0 以来重要的更改
SavedStateRegistryController
现在允许通过performAttach()
早期附加SavedStateRegistry
。- 您现在可以通过
getSavedStateProvider()
从SavedStateRegistry
中检索之前注册的SavedStateProvider
。 SavedState
库已重写为 Kotlin。- 对于
SavedStateRegistryOwner
,对于用 Kotlin 编写的那些类来说,这是一个**源代码不兼容的更改** - 您现在必须覆盖savedStateRegistry
属性,而不是实现以前的getSavedStateRegistry()
函数。 - 对于
ViewTreeSavedStateRegistryOwner
,对于用 Kotlin 编写的那些类来说,这是一个**源代码不兼容的更改** - 您现在必须直接导入并在View
上使用 Kotlin 扩展方法androidx.savedstate.setViewTreeSavedStateRegistryOwner
和androidx.savedstate.findViewTreeSavedStateRegistryOwner
来设置和查找之前设置的所有者。这取代了savedstate-ktx
API 的findViewTreeSavedStateRegistryOwner
。
- 对于
行为更改
SavedStateRegistry
如果没有状态需要保存,则不再保存空 Bundle。
版本 1.2.0-rc01
2022 年 5 月 11 日
androidx.savedstate:savedstate:1.2.0-rc01
和 androidx.savedstate:savedstate-ktx:1.2.0-rc01
已发布。 版本 1.2.0-rc01 包含这些提交。
文档更改
SavedStateRegistryOwner
的 Kdocs 已更新,以阐明所有者在如何实现接口或何时在SavedStateRegistryController
上调用方法方面所承担的责任和契约。 (Iefc95,b/228887344)
版本 1.2.0-beta01
2022 年 4 月 20 日
androidx.savedstate:savedstate:1.2.0-beta01
和 androidx.savedstate:savedstate-ktx:1.2.0-beta01
已发布。 版本 1.2.0-beta01 包含这些提交。
API 更改
SavedStateRegistry
和ViewTreeSavedStateRegistryOwner
类已重写为 Kotlin。对于ViewTreeSavedStateRegistryOwner
,对于用 Kotlin 编写的那些类来说,这是一个**源代码不兼容的更改** - 您现在必须直接导入并在View
上使用 Kotlin 扩展方法androidx.savedstate.setViewTreeSavedStateRegistryOwner
和androidx.savedstate.findViewTreeSavedStateRegistryOwner
来设置和查找之前设置的所有者。这取代了savedstate-ktx
API 的findViewTreeSavedStateRegistryOwner
。这对二进制文件兼容,并且对于用 Java 编程语言编写的实现来说仍然是源代码兼容的。 (b/220191285)
版本 1.2.0-alpha02
2022 年 4 月 6 日
androidx.savedstate:savedstate:1.2.0-alpha02
和 androidx.savedstate:savedstate-ktx:1.2.0-alpha02
已发布。 版本 1.2.0-alpha02 包含这些提交。
新功能
- 您现在可以通过
getSavedStateProvider()
从SavedStateRegistry
中检索之前注册的SavedStateProvider
。 (I7ea47,b/215406268)
API 更改
SavedStateRegistryOwner
、SavedStateRegistryController
和Recreator
类已重写为 Kotlin。对于SavedStateRegistryOwner
,对于用 Kotlin 编写的那些类来说,这是一个**源代码不兼容的更改** - 您现在必须覆盖savedStateRegistry
属性,而不是实现以前的getSavedStateRegistry()
函数。这对二进制文件兼容,并且对于用 Java 编程语言编写的实现来说是源代码兼容的。 (b/220191285)
版本 1.2.0-alpha01
2022 年 1 月 26 日
androidx.savedstate:savedstate:1.2.0-alpha01
和 androidx.savedstate:savedstate-ktx:1.2.0-alpha01
已发布。 版本 1.2.0-alpha01 包含这些提交。
新功能
SavedStateRegistryController
现在允许通过performAttach()
早期附加SavedStateRegistry
。 (Ice4bf)
行为更改
SavedStateRegistry
如果没有状态需要保存,则不再保存空 Bundle。 (aosp/1896865,b/203457956)
版本 1.1.0
版本 1.1.0
2021 年 2 月 10 日
androidx.savedstate:savedstate:1.1.0
和 androidx.savedstate:savedstate-ktx:1.1.0
已发布。 版本 1.1.0 包含这些提交。
自 1.0.0 以来主要的更改
ViewTreeSavedStateRegistryOwner
API:新的ViewTreeSavedStateRegistryOwner.get(View)
API 允许您在给定View
实例的情况下检索包含的SavedStateRegistry
。您必须升级到 Activity1.2.0
、Fragment1.3.0
和 AppCompat1.3.0-alpha01
或更高版本才能正确填充此内容。savedstate-ktx
工件:已添加新的savedstate-ktx
工件,其中包含一个用于处理ViewTreeSavedStateRegistryOwner
的findViewTreeSavedStateRegistryOwner()
Kotlin 扩展方法。
版本 1.1.0-rc01
2020 年 12 月 16 日
androidx.savedstate:savedstate:1.1.0-rc01
和 androidx.savedstate:savedstate-ktx:1.1.0-rc01
已发布,自 1.1.0-beta01
以来没有更改。 版本 1.1.0-rc01 包含这些提交。
版本 1.1.0-beta01
2020 年 10 月 1 日
androidx.savedstate:savedstate:1.1.0-beta01
和 androidx.savedstate:savedstate-ktx:1.1.0-beta01
已发布,自 1.1.0-alpha01
以来没有更改。 版本 1.1.0-beta01 包含这些提交。
版本 1.1.0-alpha01
2020 年 5 月 20 日
androidx.savedstate:savedstate:1.1.0-alpha01
和 androidx.savedstate:savedstate-ktx:1.1.0-alpha01
已发布。 版本 1.1.0-alpha01 包含这些提交。
新功能
- 新的
ViewTreeSavedStateRegistryOwner.get(View)
API 允许您在给定View
实例的情况下检索包含的SavedStateRegistry
。您必须升级到 Activity1.2.0-alpha05
、Fragment1.3.0-alpha05
和 AppCompat1.3.0-alpha01
才能正确填充此内容。 (aosp/1298679) - 已添加新的
savedstate-ktx
工件,其中包含一个用于处理ViewTreeSavedStateRegistryOwner
的findViewTreeSavedStateRegistryOwner()
Kotlin 扩展方法。 (aosp/1299434)
版本 1.0.0
版本 1.0.0
2019 年 9 月 5 日
androidx.savedstate:savedstate:1.0.0
已发布。此版本中包含的提交可以在这里找到 这里。
SavedState 1.0.0 的主要功能
androidx.savedstate
已发布稳定版本。这是一组 API,允许开发人员将组件插入到 restore / saveInstanceState 过程中。API 的主要入口点是 SavedStateRegistry
,它提供了一种使用 consumeRestoredStateForKey
检索之前保存的状态以及注册回调到 registerSavedStateProvider
的方法,以便在系统请求时提供保存的状态。
版本 1.0.0-rc01
2019 年 7 月 2 日
androidx.savedstate:savedstate:1.0.0-rc01
已发布。此版本中包含的提交可以在这里找到 这里。
错误修复
- 修复了不正确的 ProGuard 规则 (b/132655499)
版本 1.0.0-beta01
2019 年 5 月 7 日
androidx.savedstate:savedstate:1.0.0-beta01
已发布。此版本中包含的提交可以在这里找到 这里。
版本 1.0.0-alpha02
2019 年 3 月 13 日
androidx.savedstate:savedstate:1.0.0-alpha02
已发布。androidx.savedstate:savedstate
将工件 androidx.savedstate:savedstate-bundle
和 androidx.savedstate:savedstate-common
合并为一个工件,因为已决定简化 savedstate 基础结构并从 SavedStateRegistry
中删除泛型。因此,无需单独的模块。
此版本中包含的完整提交列表可以在这里找到 这里。
新功能
- 已添加
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
。当拥有组件重新启动时,将实例化给定的类,并将运行方法AutoRecreated.onRecreated
。
API 更改
- 从
SavedStateRegistry<T>
中删除了泛型 - AbstractSavedStateRegistry 和 BundlableSavedStateRegistry 已删除,请改用简单的
SavedStateRegistry
BundleSavedStateRegistryOwner
已重命名为SavedStateRegistryOwner
版本 1.0.0-alpha01
2018 年 12 月 17 日
这是 SavedState
的第一个版本。
新功能
androidx.savedstate
是一组新的 alpha API,允许开发人员将组件插入到 restore / saveInstanceState 过程中。API 的主要入口点是 SavedStateRegistry<T>
,它提供了一种通过 consumeRestoredStateForKey
检索之前保存的状态以及注册回调到 registerSavedStateProvider
的方法,以便在系统请求时提供保存的状态。