已儲存狀態
最近更新時間 | 穩定版 | 候選版 | 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。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
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 擴充功能已移至基礎已儲存的狀態模組。(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
。 - 已改寫 Kotlin 內的
SavedState
程式庫。- 對
SavedStateRegistryOwner
而言,這些類別屬於與原始碼不相容的變更,因此您現在必須覆寫savedStateRegistry
屬性,而不是導入先前的getSavedStateRegistry()
函式。 - 對
ViewTreeSavedStateRegistryOwner
而言,這些類別屬於與原始碼不相容的變更,因此您現在必須為androidx.savedstate.setViewTreeSavedStateRegistryOwner
和androidx.savedstate.findViewTreeSavedStateRegistryOwner
的View
直接匯入及使用 Kotlin 擴充功能方法,才能設定及找出先前設定的擁有者。這會取代findViewTreeSavedStateRegistryOwner
的savedstate-ktx
API,
- 對
行為變更
- 如果無法儲存任何狀態,「
SavedStateRegistry
」就不會再儲存空白的軟體包。
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 變更
- 我們已使用 Kotlin 重新編寫
SavedStateRegistry
和ViewTreeSavedStateRegistryOwner
類別。對ViewTreeSavedStateRegistryOwner
而言,這些類別屬於與原始碼不相容的變更,因此您現在必須為androidx.savedstate.setViewTreeSavedStateRegistryOwner
和androidx.savedstate.findViewTreeSavedStateRegistryOwner
的View
直接匯入及使用 Kotlin 擴充功能方法,才能設定及找出先前設定的擁有者。這會取代findViewTreeSavedStateRegistryOwner
的savedstate-ktx
API,另外,這與二進位檔相容,而且以 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 變更
- 我們已使用 Kotlin 重新編寫
SavedStateRegistryOwner
、SavedStateRegistryController
和Recreator
類別。對SavedStateRegistryOwner
而言,這些類別屬於與原始碼不相容的變更,因此您現在必須覆寫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
」就不會再儲存空白的軟體包。(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 可讓您依據SavedStateRegistry
執行個體,擷取其所屬的View
。您必須升級至 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 可讓開發人員將元件附加至還原 / 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,可讓開發人員將元件附加至還原 / saveInstanceState 程序。API 的主要進入點是 SavedStateRegistry<T>
,可讓您透過 consumeRestoredStateForKey
擷取先前儲存的狀態,並向 registerSavedStateProvider
註冊回呼,以在系統要求時提供已儲存的狀態。