Savedstate
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
29 Juni 2022 | 1.2.0 | - | - | - |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada SavedState, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.2.0" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.2.0" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.2.0") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.2.0") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.2.0
Versi 1.2.0
29 Juni 2022
androidx.savedstate:savedstate:1.2.0
dan androidx.savedstate:savedstate-ktx:1.2.0
dirilis. Versi 1.2.0 berisi commit berikut ini.
Perubahan penting sejak 1.1.0
SavedStateRegistryController
sekarang memungkinkan lampiranSavedStateRegistry
awal melaluiperformAttach()
.- Anda kini dapat mengambil
SavedStateProvider
yang sebelumnya terdaftar dariSavedStateRegistry
melaluigetSavedStateProvider()
. - Library
SavedState
telah ditulis ulang di Kotlin.- Untuk
SavedStateRegistryOwner
, ini adalah perubahan sumber yang tidak kompatibel untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus mengganti propertisavedStateRegistry
, bukan mengimplementasikan fungsigetSavedStateRegistry()
sebelumnya. - Untuk
ViewTreeSavedStateRegistryOwner
, ini adalah perubahan yang tidak kompatibel dengan sumber untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus secara langsung mengimpor dan menggunakan metode ekstensi Kotlin diView
dariandroidx.savedstate.setViewTreeSavedStateRegistryOwner
danandroidx.savedstate.findViewTreeSavedStateRegistryOwner
untuk menetapkan dan menemukan pemilik yang ditetapkan sebelumnya. Ini menggantikan APIsavedstate-ktx
darifindViewTreeSavedStateRegistryOwner
.
- Untuk
Perubahan Perilaku
SavedStateRegistry
tidak lagi menyimpan Paket kosong jika tidak ada status yang akan disimpan.
Versi 1.2.0-rc01
11 Mei 2022
androidx.savedstate:savedstate:1.2.0-rc01
dan androidx.savedstate:savedstate-ktx:1.2.0-rc01
dirilis. Versi 1.2.0-rc01 berisi commit ini.
Perubahan Dokumentasi
- Kdocs
SavedStateRegistryOwner
telah diupdate untuk memperjelas tanggung jawab dan kontrak yang dimiliki pemilik terkait cara menerapkan antarmuka atau kapan mereka harus memanggil metode diSavedStateRegistryController
. (Iefc95, b/228887344)
Versi 1.2.0-beta01
20 April 2022
androidx.savedstate:savedstate:1.2.0-beta01
dan androidx.savedstate:savedstate-ktx:1.2.0-beta01
dirilis. Versi 1.2.0-beta01 berisi commit ini.
Perubahan API
- Class
SavedStateRegistry
danViewTreeSavedStateRegistryOwner
telah ditulis ulang dalam Kotlin. UntukViewTreeSavedStateRegistryOwner
, ini adalah perubahan yang tidak kompatibel dengan sumber untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus secara langsung mengimpor dan menggunakan metode ekstensi Kotlin diView
dariandroidx.savedstate.setViewTreeSavedStateRegistryOwner
danandroidx.savedstate.findViewTreeSavedStateRegistryOwner
untuk menetapkan dan menemukan pemilik yang ditetapkan sebelumnya. Ini menggantikan APIsavedstate-ktx
darifindViewTreeSavedStateRegistryOwner
. Ini kompatibel dengan biner dan tetap kompatibel dengan sumber untuk implementasi yang ditulis dalam bahasa pemrograman Java. (b/220191285)
Versi 1.2.0-alpha02
6 April 2022
androidx.savedstate:savedstate:1.2.0-alpha02
dan androidx.savedstate:savedstate-ktx:1.2.0-alpha02
dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Fitur Baru
- Anda kini dapat mengambil
SavedStateProvider
yang sebelumnya terdaftar dariSavedStateRegistry
melaluigetSavedStateProvider()
. (I7ea47, b/215406268)
Perubahan API
- Class
SavedStateRegistryOwner
,SavedStateRegistryController
, danRecreator
telah ditulis ulang dalam Kotlin. UntukSavedStateRegistryOwner
, ini adalah perubahan sumber yang tidak kompatibel untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus mengganti propertisavedStateRegistry
, bukan mengimplementasikan fungsigetSavedStateRegistry()
sebelumnya. Ini kompatibel dengan biner dan kompatibel dengan sumber untuk implementasi yang ditulis dalam bahasa pemrograman Java. (b/220191285)
Versi 1.2.0-alpha01
26 Januari 2022
androidx.savedstate:savedstate:1.2.0-alpha01
dan androidx.savedstate:savedstate-ktx:1.2.0-alpha01
dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Fitur Baru
SavedStateRegistryController
sekarang memungkinkan lampiranSavedStateRegistry
awal melaluiperformAttach()
. (Ice4bf)
Perubahan Perilaku
SavedStateRegistry
tidak lagi menyimpan Paket kosong jika tidak ada status yang akan disimpan. (aosp/1896865, b/203457956)
Versi 1.1.0
Versi 1.1.0
10 Februari 2021
androidx.savedstate:savedstate:1.1.0
dan androidx.savedstate:savedstate-ktx:1.1.0
dirilis. Versi 1.1.0 berisi commit ini.
Perubahan utama sejak versi 1.0.0
ViewTreeSavedStateRegistryOwner
API:ViewTreeSavedStateRegistryOwner.get(View)
API yang baru memungkinkan Anda mengambil instanceView
yang berisiSavedStateRegistry
. Anda harus melakukan upgrade ke Activity1.2.0
, Fragment1.3.0
, dan AppCompat1.3.0-alpha01
atau yang lebih tinggi untuk mengisi ini dengan benar.- Artefak
savedstate-ktx
: Artefaksavedstate-ktx
baru telah ditambahkan dengan ekstensi KotlinfindViewTreeSavedStateRegistryOwner()
untuk digunakan denganViewTreeSavedStateRegistryOwner
.
Versi 1.1.0-rc01
16 Desember 2020
androidx.savedstate:savedstate:1.1.0-rc01
dan androidx.savedstate:savedstate-ktx:1.1.0-rc01
dirilis tanpa perubahan sejak 1.1.0-beta01
. Versi 1.1.0-rc01 berisi commit berikut.
Versi 1.1.0-beta01
1 Oktober 2020
androidx.savedstate:savedstate:1.1.0-beta01
dan androidx.savedstate:savedstate-ktx:1.1.0-beta01
dirilis tanpa perubahan sejak 1.1.0-alpha01
. Versi 1.1.0-beta01 berisi commit ini.
Versi 1.1.0-alpha01
20 Mei 2020
androidx.savedstate:savedstate:1.1.0-alpha01
dan androidx.savedstate:savedstate-ktx:1.1.0-alpha01
dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
ViewTreeSavedStateRegistryOwner.get(View)
API yang baru memungkinkan Anda mengambil instanceView
berisiSavedStateRegistry
. Anda harus melakukan upgrade ke Activity1.2.0-alpha05
, Fragment1.3.0-alpha05
, dan AppCompat1.3.0-alpha01
untuk mengisi ini dengan benar. (aosp/1298679)- Artefak
savedstate-ktx
baru telah ditambahkan dengan ekstensi KotlinfindViewTreeSavedStateRegistryOwner()
untuk digunakan denganViewTreeSavedStateRegistryOwner
. (aosp/1299434)
Versi 1.0.0
Versi 1.0.0
5 September 2019
androidx.savedstate:savedstate:1.0.0
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur utama SavedState 1.0.0
androidx.savedstate
lulus ke rilis stabil. Ini adalah sekumpulan API yang memungkinkan developer memasukkan komponen ke proses restore/saveInstanceState. Titik masuk utama API ini adalah SavedStateRegistry
, yang menyediakan cara untuk mengambil status yang telah disimpan sebelumnya menggunakan consumeRestoredStateForKey
dan mendaftarkan callback ke registerSavedStateProvider
untuk memberikan status tersimpan saat sistem memintanya.
Versi 1.0.0-rc01
2 Juli 2019
androidx.savedstate:savedstate:1.0.0-rc01
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Perbaikan bug
- Memperbaiki aturan proguard yang salah. (b/132655499)
Versi 1.0.0-beta01
7 Mei 2019
androidx.savedstate:savedstate:1.0.0-beta01
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Versi 1.0.0-alpha02
13 Maret 2019
androidx.savedstate:savedstate:1.0.0-alpha02
dirilis. androidx.savedstate:savedstate
menggabungkan artefak androidx.savedstate:savedstate-bundle
dan androidx.savedstate:savedstate-common
menjadi satu artefak, karena perlunya menyederhanakan infrastruktur savedstate dan menghapus generik dari SavedStateRegistry
. Dengan demikian, modul terpisah tidak diperlukan.
Daftar lengkap commit yang disertakan dalam versi ini dapat ditemukan di sini.
Fitur baru
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
ditambahkan. Instance class yang ditentukan akan dibuat dan metodeAutoRecreated.onRecreated
akan dijalankan saat komponen yang memilikinya dimulai ulang.
Perubahan API
- Generik dihapus dari
SavedStateRegistry<T>
- AbstractSavedStateRegistry & BundlableSavedStateRegistry dihapus, sebagai gantinya, gunakan
SavedStateRegistry
sederhana BundleSavedStateRegistryOwner
diganti nama menjadiSavedStateRegistryOwner
Versi 1.0.0-alpha01
17 Desember 2018
Ini adalah rilis pertama SavedState
.
Fitur baru
androidx.savedstate
adalah sekumpulan API alfa baru yang memungkinkan developer memasukkan komponen ke proses restore/saveInstanceState. Titik masuk utama API ini adalah SavedStateRegistry<T>
, yang menyediakan cara untuk mengambil savedstate sebelumnya menggunakan consumeRestoredStateForKey
dan mendaftarkan callback ke registerSavedStateProvider
untuk memberikan savedstate saat sistem memintanya.