Savedstate
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
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 に含まれる commit については、こちらをご覧ください。
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 に含まれる commit については、こちらをご覧ください。
依存関係の更新
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 に含まれる commit については、こちらをご覧ください。
1.1.0 以降の重要な変更
SavedStateRegistryController
で、performAttach()
によるSavedStateRegistry
の早期アタッチメントが可能になりました。getSavedStateProvider()
を介して、以前に登録したSavedStateProvider
をSavedStateRegistry
から取得できるようになりました。SavedState
ライブラリが Kotlin で書き換えられました。SavedStateRegistryOwner
の場合、これは Kotlin で記述されたクラスのソース互換性のない変更です。以前のgetSavedStateRegistry()
関数を実装する代わりに、savedStateRegistry
プロパティをオーバーライドする必要があります。ViewTreeSavedStateRegistryOwner
の場合、これは Kotlin で記述されたクラスのソース互換性のない変更です。以前に設定したオーナーを設定、確認するには、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 に含まれる commit については、こちらをご覧ください。
ドキュメントの変更
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 に含まれる commit については、こちらをご覧ください。
API の変更
SavedStateRegistry
、ViewTreeSavedStateRegistryOwner
の各クラスが Kotlin で書き換えられました。ViewTreeSavedStateRegistryOwner
の場合、これは Kotlin で記述されたクラスのソース互換性のない変更です。以前に設定したオーナーを設定、確認するには、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 に含まれる commit については、こちらをご覧ください。
新機能
getSavedStateProvider()
を介して、以前に登録したSavedStateProvider
をSavedStateRegistry
から取得できるようになりました。(I7ea47、b/215406268)
API の変更
SavedStateRegistryOwner
、SavedStateRegistryController
、Recreator
の各クラスが Kotlin で書き換えられました。SavedStateRegistryOwner
の場合、これは Kotlin で記述されたクラスのソース互換性のない変更です。以前のgetSavedStateRegistry()
関数を実装する代わりに、savedStateRegistry
プロパティをオーバーライドする必要があります。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 に含まれる commit については、こちらをご覧ください。
新機能
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 に含まれる commit については、こちらをご覧ください。
新機能
- 新しい
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
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
SavedState 1.0.0 の主な機能
androidx.savedstate
が安定版リリースに進みました。これは、デベロッパーがコンポーネントを restore / saveInstanceState プロセスにプラグインできるようにする API のセットです。この API のメインのエントリ ポイントは SavedStateRegistry
です。consumeRestoredStateForKey
を使用して以前に保存された状態を取得する方法を提供し、また registerSavedStateProvider
にコールバックを登録して、保存された状態をシステムのリクエストに応じて提供します。
バージョン 1.0.0-rc01
2019 年 7 月 2 日
androidx.savedstate:savedstate:1.0.0-rc01
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
バグの修正
- 正しくない ProGuard ルールを修正しました(b/132655499)
バージョン 1.0.0-beta01
2019 年 5 月 7 日
androidx.savedstate:savedstate:1.0.0-beta01
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
バージョン 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
を組み合わせて 1 つのアーティファクトにします。これは、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
は、デベロッパーがコンポーネントを restore / saveInstanceState プロセスにプラグインできるようにする新しいアルファ版 API のセットです。この API のメインのエントリ ポイントは SavedStateRegistry<T>
です。consumeRestoredStateForKey
を使用して以前に保存された状態を取得する方法を提供し、また registerSavedStateProvider
にコールバックを登録して、保存された状態をシステムのリクエストに応じて提供します。