Savedstate
Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
30 Ekim 2024 | 1.2.1 | - | - | 1.3.0-alpha04 |
Bağımlılıkları beyan etme
SavedState'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanızın veya modülünüzün build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
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") }
Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.3
Sürüm 1.3.0-alpha04
30 Ekim 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04
yayınlandı. 1.3.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
- SavedState KMP artık Char'ı desteklemektedir. (I9ac2f, b/334076622)
- SavedState KMP'ye
putNull
veisNull
ekleyin. (Iea71d, b/334076622) - İlk
Map<String, Any>
'ı (I9b37d, b/334076622) destekleyen eksavedState
fabrika parametreleri ekleyin - SavedState KMP artık
contentDeepEquals
karşılaştırmasını destekliyor. (Ia515c, b/334076622) - SavedState KMP artık Long türünü destekliyor. (I4c180, b/334076622)
Sürüm 1.3.0-alpha03
16 Ekim 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03
, önemli bir değişiklik içermeden yayınlandı. 1.3.0-alpha03 sürümü bu taahhütleri içerir.
Sürüm 1.3.0-alpha02
2 Ekim 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02
yayınlandı. 1.3.0-alpha02 sürümü bu taahhütleri içerir.
Kotlin Çok Platformlu
SavedState
modülü artık KMP ile uyumludur. Desteklenen platformlar arasında artık Android, iOS, Linux, Mac ve JVM masaüstü ortamları da yer alıyor. (I26305, b/334076622)
Yeni Özellikler
- KMP'de uygulama durumunu kaydedip geri yüklemek için tutarlı bir yöntem sunmak amacıyla
SavedState
opak türünü soyutlama olarak kullanın. Kaydedilecek durumu değiştirmek için birSavedStateReader
veSavedStateWriter
içerir.SavedState
, Android'deBundle
için bir tür takma addır. İkili program uyumluluğu sağlar ve mevcut API'lerin ortak kaynak kümesine taşınmasını kolaylaştırır. Diğer platformlardaSavedState
,Map<String, Any>
örneğidir. (I18575, b/334076622)
// Create a new SavedState object using the savedState DSL:
val savedState = savedState {
putInt("currentPage", 1)
putString("filter", "favorites")
}
// Read from a SavedState object
val currentPage = savedState.read { getInt("currentPage") }
// Edit an existing SavedState object
savedState.write {
remove("currentPage")
}
API Değişiklikleri
SavedStateRegistry
veSavedStateRegistryController
artık KMP ile uyumlu. (Id7bb8, b/334076622)SavedState
,SavedStateWriter
veSavedStateReader
artık KMP uyumlu. (I26305, b/334076622)
Sürüm 1.3.0-alpha01
7 Ağustos 2024
androidx.savedstate:savedstate:1.3.0-alpha01
ve androidx.savedstate:savedstate-ktx:1.3.0-alpha01
yayınlandı. Sürüm 1.3.0-alpha01 bu kaydetmeleri içerir.
API Değişiklikleri
savedstate-ktx
kotlin uzantıları artık temel savedstate modülüne taşındı. (I1cc18, b/274803094)
Not
compileSdk
değerini 35 olarak güncelleyin (5dc41be)
Sürüm 1.2.1
Sürüm 1.2.1
22 Mart 2023
androidx.savedstate:savedstate:1.2.1
ve androidx.savedstate:savedstate-ktx:1.2.1
serbest bırakıldı. Sürüm 1.2.1 bu kaydetmeleri içerir.
Bağımlılık Güncellemeleri
SavedState
artık Yaşam Döngüsü2.6.1
'e bağlıdır. (c1f621)
Sürüm 1.2.0
Sürüm 1.2.0
29 Haziran 2022
androidx.savedstate:savedstate:1.2.0
ve androidx.savedstate:savedstate-ktx:1.2.0
serbest bırakıldı. 1.2.0 sürümü bu kaydetmeleri içerir.
1.1.0 sürümünden bu yana yapılan önemli değişiklikler
SavedStateRegistryController
artıkSavedStateRegistry
'uperformAttach()
üzerinden erken eklemeye izin veriyor.- Artık
getSavedStateProvider()
aracılığıyla daha önce kayıtlı birSavedStateProvider
'yiSavedStateRegistry
'den alabilirsiniz. SavedState
kitaplığı Kotlin'de yeniden yazıldı.SavedStateRegistryOwner
için bu, Kotlin'de yazılmış sınıflar için kaynak uyumsuz bir değişikliktir. Artık öncekigetSavedStateRegistry()
işlevini uygulamak yerinesavedStateRegistry
mülkünü geçersiz kılmanız gerekir.ViewTreeSavedStateRegistryOwner
için bu, Kotlin'de yazılmış sınıflar için kaynak uyumsuz bir değişikliktir. Artık daha önce ayarlanmış bir sahibi ayarlamak ve bulmak içinandroidx.savedstate.setViewTreeSavedStateRegistryOwner
veandroidx.savedstate.findViewTreeSavedStateRegistryOwner
sınıflarınınView
bölümündeki Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,findViewTreeSavedStateRegistryOwner
'ınsavedstate-ktx
API'sinin yerini almıştır.
Davranış Değişiklikleri
- Kaydedilecek durum yoksa
SavedStateRegistry
artık boş Paket kaydetmez.
Sürüm 1.2.0-rc01
11 Mayıs 2022
androidx.savedstate:savedstate:1.2.0-rc01
ve androidx.savedstate:savedstate-ktx:1.2.0-rc01
yayınlandı. 1.2.0-rc01 sürümü bu taahhütleri içerir.
Dokümanlardaki Değişiklikler
SavedStateRegistryOwner
Kdocs, arayüz sahibinin arayüzü nasıl kullanması veyaSavedStateRegistryController
sitesindeki yöntemleri ne zaman çağırması gerektiği konusunda sahip olduğu sorumlulukları ve sözleşmeyi açıklığa kavuşturacak şekilde güncellendi. (Iefc95, b/228887344)
Sürüm 1.2.0-beta01
20 Nisan 2022
androidx.savedstate:savedstate:1.2.0-beta01
ve androidx.savedstate:savedstate-ktx:1.2.0-beta01
serbest bırakıldı. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
SavedStateRegistry
veViewTreeSavedStateRegistryOwner
sınıfları Kotlin'de yeniden yazıldı.ViewTreeSavedStateRegistryOwner
için bu, Kotlin'de yazılmış sınıflar için kaynak uyumsuz bir değişikliktir. Artık daha önce ayarlanmış bir sahibi ayarlamak ve bulmak içinandroidx.savedstate.setViewTreeSavedStateRegistryOwner
veandroidx.savedstate.findViewTreeSavedStateRegistryOwner
sınıflarınınView
bölümündeki Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,findViewTreeSavedStateRegistryOwner
'ınsavedstate-ktx
API'sinin yerini almıştır. Bu sürüm, Java programlama dilinde yazılmış uygulamalar için ikili uyumlu ve kaynak uyumludur. (b/220191285)
Sürüm 1.2.0-alpha02
6 Nisan 2022
androidx.savedstate:savedstate:1.2.0-alpha02
ve androidx.savedstate:savedstate-ktx:1.2.0-alpha02
yayınlandı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.
Yeni Özellikler
- Artık
getSavedStateProvider()
aracılığıyla daha önce kayıtlı birSavedStateProvider
'yiSavedStateRegistry
'den alabilirsiniz. (I7ea47, b/215406268)
API Değişiklikleri
SavedStateRegistryOwner
,SavedStateRegistryController
veRecreator
sınıfları Kotlin'de yeniden yazıldı.SavedStateRegistryOwner
için bu, Kotlin'de yazılmış sınıflar için kaynak uyumsuz bir değişikliktir. Artık öncekigetSavedStateRegistry()
işlevini uygulamak yerinesavedStateRegistry
mülkünü geçersiz kılmanız gerekir. Bu, Java programlama dilinde yazılmış uygulamalar için ikili uyumlu ve kaynak uyumludur. (b/220191285)
Sürüm 1.2.0-alpha01
26 Ocak 2022
androidx.savedstate:savedstate:1.2.0-alpha01
ve androidx.savedstate:savedstate-ktx:1.2.0-alpha01
yayınlandı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.
Yeni Özellikler
SavedStateRegistryController
artıkperformAttach()
üzerindenSavedStateRegistry
öğesinin erken eklenmesine izin veriyor. (Ice4bf)
Davranış Değişiklikleri
SavedStateRegistry
artık kaydedilecek durum yoksa boş bir paket kaydetmez. (aosp/1896865, b/203457956)
Sürüm 1.1.0
1.1.0 sürümü
10 Şubat 2021
androidx.savedstate:savedstate:1.1.0
ve androidx.savedstate:savedstate-ktx:1.1.0
yayınlandı. 1.1.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünden beri yapılan önemli değişiklikler
ViewTreeSavedStateRegistryOwner
API: Yeni birViewTreeSavedStateRegistryOwner.get(View)
API, birView
örneği verildiğinde kapsayıcıSavedStateRegistry
öğesini almanıza olanak tanır. Bu alanı doğru şekilde doldurmak için Activity1.2.0
, Fragment1.3.0
ve AppCompat1.3.0-alpha01
veya sonraki bir sürüme yükseltmeniz gerekir.savedstate-ktx
yapı öğesi: Yenisavedstate-ktx
yapı öğesi,ViewTreeSavedStateRegistryOwner
ile çalışmak için birfindViewTreeSavedStateRegistryOwner()
Kotlin uzantısıyla eklendi.
Sürüm 1.1.0-rc01
16 Aralık 2020
androidx.savedstate:savedstate:1.1.0-rc01
ve androidx.savedstate:savedstate-ktx:1.1.0-rc01
, 1.1.0-beta01
tarihinden beri herhangi bir değişiklik yapılmadan yayınlandı. 1.1.0-rc01 sürümü bu taahhütleri içerir.
Sürüm 1.1.0-beta01
1 Ekim 2020
androidx.savedstate:savedstate:1.1.0-beta01
ve androidx.savedstate:savedstate-ktx:1.1.0-beta01
, 1.1.0-alpha01
tarihinden bu yana hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.
Sürüm 1.1.0-alpha01
20 Mayıs 2020
androidx.savedstate:savedstate:1.1.0-alpha01
ve androidx.savedstate:savedstate-ktx:1.1.0-alpha01
serbest bırakıldı. 1.1.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni bir
ViewTreeSavedStateRegistryOwner.get(View)
API'sı, verilenView
örneğini içerenSavedStateRegistry
öğesini almanızı sağlar. Bu alanı doğru şekilde doldurmak için Etkinlik1.2.0-alpha05
, Fragment1.3.0-alpha05
ve AppCompat1.3.0-alpha01
'e yükseltmeniz gerekir. (aosp/1298679) - Yeni
savedstate-ktx
yapı,ViewTreeSavedStateRegistryOwner
ile çalışmak için birfindViewTreeSavedStateRegistryOwner()
Kotlin uzantısıyla eklendi. (aosp/1299434)
Sürüm 1.0.0
Sürüm 1.0.0
5 Eylül 2019
androidx.savedstate:savedstate:1.0.0
yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
SavedState 1.0.0'ın önemli özellikleri
androidx.savedstate
kararlı sürüme geçti. Bu, geliştiricilerin geri yükleme / saveInstanceState işlemine bileşen eklemesine olanak tanıyan bir dizi API'dir. API'nin ana giriş noktası SavedStateRegistry
'dir. Bu API, consumeRestoredStateForKey
kullanarak daha önce kaydedilen durumları geri almanın ve sistem istekte bulunduğunda kayıtlı durum sağlamak için registerSavedStateProvider
öğesine geri arama kaydetmenin bir yolunu sunar.
Sürüm 1.0.0-rc01
2 Temmuz 2019
androidx.savedstate:savedstate:1.0.0-rc01
yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Hata düzeltmeleri
- Yanlış ProGuard kuralı düzeltildi (b/132655499)
Sürüm 1.0.0-beta01
7 Mayıs 2019
androidx.savedstate:savedstate:1.0.0-beta01
yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.
Sürüm 1.0.0-alpha02
13 Mart 2019
androidx.savedstate:savedstate:1.0.0-alpha02
yayınlanır. androidx.savedstate:savedstate
, savedstate altyapısını basitleştirmeye ve SavedStateRegistry
'tan genel öğeleri kaldırmaya karar verildiği için androidx.savedstate:savedstate-bundle
ve androidx.savedstate:savedstate-common
yapılarını tek bir yapıda birleştirir. Bu nedenle, ayrı modüllere gerek yoktur.
Bu sürüme dahil edilen tüm taahhütlerin listesini burada bulabilirsiniz.
Yeni özellikler
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
eklendi. Belirtilen sınıf örneklenir ve sahip bileşen yeniden başlatıldığındaAutoRecreated.onRecreated
yöntemi çalıştırılır.
API değişiklikleri
- Jenerik ürünler
SavedStateRegistry<T>
'ten kaldırıldı - AbstractSavedStateRegistry ve BundlableSavedStateRegistry kaldırıldı, bunun yerine basit
SavedStateRegistry
kullanın BundleSavedStateRegistryOwner
,SavedStateRegistryOwner
olarak yeniden adlandırıldı
Sürüm 1.0.0-alpha01
17 Aralık 2018
Bu, SavedState
'ün ilk sürümü.
Yeni özellikler
androidx.savedstate
, geliştiricilerin geri yükleme / saveInstanceState işlemine bileşen eklemelerine olanak tanıyan yeni bir alfa API'leri grubudur. API'nin ana giriş noktası SavedStateRegistry<T>
'tür. Bu nokta, daha önce kaydedilen durumu consumeRestoredStateForKey
aracılığıyla alma ve sistem isterse kaydedilen durumu sağlamak için registerSavedStateProvider
'ye geri çağırma işlevi kaydetme olanağı sunar.