Savedstate
Son Güncelleme | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü |
---|---|---|---|---|
2 Temmuz 2025 | 1.3.1 | - | - | - |
Bağımlılıkları bildirme
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 veya modülünüz için build.gradle
dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.3.1" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.3.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.3.1") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.3.1") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.3
Sürüm 1.3.0
7 Mayıs 2025
androidx.savedstate:savedstate-*:1.3.0
iptal edilir. 1.3.0 sürümü bu commit'leri içerir.
1.2.0 sürümünden beri yapılan önemli değişiklikler
LocalSavedStateRegistryOwner
, Compose tabanlı yardımcı API'lerinin Compose kullanıcı arayüzü dışında kullanılabilmesi için Compose kullanıcı arayüzünden yenisavedstate-compose
modülüne taşındı. Bu, Compose UI1.9.0-alpha02
ve sonraki sürümler kullanılırken her zaman kullanılmalıdır ancak Compose'un tüm sürümleriyle kullanılabilecek şekilde geriye dönük olarak uyumludur.savedstate-ktx
Kotlin uzantıları artık temel savedstate modülüne taşındı.SavedStateRegistryOwner
findViewTreeSavedStateRegistryOwner
aracılığıyla alınan örnekler artık bir görünümün ayrık üst öğeleri (ör.ViewOverlay
) üzerinden çözümlenebilir. Ayrık görünüm üst öğeleri hakkında daha fazla bilgi için Core'un sürüm notlarına veyaViewTree.setViewTreeDisjointParent
bölümündeki dokümanlara bakın.
Kotlin Multiplatform
SavedState
modülü artık KMP ile uyumlu. Desteklenen platformlar artık Android, iOS, Linux, Mac ve JVM masaüstü ortamlarını içeriyor.KMP'de uygulama durumunu kaydetmek ve geri yüklemek için tutarlı bir yol sağlamak üzere
SavedState
opak türünü soyutlama olarak kullanıma sunma. Kaydedilecek durumu değiştirmek içinSavedStateReader
veSavedStateWriter
içerir. Android'deSavedState
,Bundle
için bir tür takma adıdır. Bu sayede ikili uyumluluk sağlanır ve mevcut API'lerin ortak bir kaynak grubuna taşınması kolaylaştırılır. Diğer platformlardaSavedState
,Map<String, Any>
örneğidir.// 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") }
KotlinX Serialization Support
SavedState
artık KotlinX Serialization desteği içeriyor.@Serializable
ile açıklama eklenmiş bir sınıfıencodeToSavedState
vedecodeFromSavedState
yöntemlerini kullanarakSavedState
sınıfına dönüştürebilirsiniz. DöndürülenSavedState
, Android'de normal birBundle
olupBundle
kabul eden tüm API'ler tarafından kullanılabilir.@Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) }
Çoğu tür (ör. temel türler) herhangi bir yapılandırma gerektirmeden doğrudan desteklenirken
@Serializable(with = ___:class)
ile kullanılabilecek ek serileştiricilersavedstate
modülündekiandroidx.savedstate.serialization.serializers
paketinde vesavedstate-compose
modülündekiandroidx.savedstate.compose.serialization.serializers
paketinde bulunabilir.Ayrıca,
@Serializable
sınıflarınıSavedStateRegistryOwner
içinde depolamayı kolaylaştırmak içinsaved
adlı tembel özellik temsilcisini de ekledik (ör.ComponentActivity
,Fragment
vb.) ve bu sınıfların, işlem sonlandırılıp yeniden oluşturulduğunda otomatik olarak geri yüklenmesini sağlayın.saved
temsilcisinin tembel olduğunu ve erişilene kadarinit
lambda'sını çağırmayacağını veyaSavedStateRegistry
içine hiçbir şey kaydetmeyeceğini lütfen unutmayın.@Serializable data class Person(val firstName: String, val lastName: String) class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } }
Yaşam Döngüsü
2.9.0
'ndeSavedStateHandle
için benzer birsaved
mülk temsilcisi eklenmiştir.
Sürüm 1.3.0-rc01
23 Nisan 2025
androidx.savedstate:savedstate-*:1.3.0-rc01
iptal edilir. 1.3.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.3.0-beta01
9 Nisan 2025
androidx.savedstate:savedstate-*:1.3.0-beta01
iptal edilir. 1.3.0-beta01 sürümü bu commit'leri içerir.
Bağımlılık Güncellemeleri
- Bu kitaplık artık Kotlin 2.0 dil seviyesini hedefliyor ve KGP 2.0.0 veya daha yeni bir sürüm gerektiriyor. (Idb6b5)
Sürüm 1.3.0-alpha11
26 Mart 2025
androidx.savedstate:savedstate-*:1.3.0-alpha11
, önemli bir herkese açık değişiklik olmadan yayınlandı. 1.3.0-alpha11 sürümü bu commit'leri içerir.
Sürüm 1.3.0-alpha10
12 Mart 2025
androidx.savedstate:savedstate-*:1.3.0-alpha10
iptal edilir. 1.3.0-alpha10 sürümü bu commit'leri içerir.
Yeni Özellikler
SavedStateReader
içindekiget
koleksiyonları için somutlaştırılmamış yöntem varyantları ekleyin. (I0b641, b/399820614)encodeDefaults
özelliğineSavedStateConfiguration
ekleyerek varsayılan değerlere sahip özelliklerin kodlanıp kodlanmayacağını özelleştirmeye olanak tanır. (I893cc, b/395104517)mutableStateMapOf
öğesini desteklemek içinSnapshotStateMapSerializer
ekleyin. (Ie6f19, b/378895074)mutableStateListOf
öğesini desteklemek içinSnapshotStateListSerializer
ekleyin. (I4d888, b/378895074)getOrNull
varyant içinSavedStateReader.get
alternatif yöntem ekleyin. Bu yöntemler, temel değerleri otomatik olarak kutular. (I6228c, b/399820614)
API Değişiklikleri
getOrElse
,getOrNull() ?: else()
lehineSavedStateReader
hesabından kaldırılıyor. (I87317, b/399820614)inline
değiştiricisiniSavedStateReader
veSavedStateWriter
yöntemlerinden kaldırın. (If2a02, b/399820614)- Yerleşik Android'e özgü List ve Array serileştiricileri herkese açık API'den kaldırma (Ida293)
SparseParcelableArraySerializer
yerineSparseArraySerializer
koyun (I91de8)- Değer türü, dönüş türüyle eşleşmediğinde hata vererek tüm
SavedStateReader.get
'ların tutarlı şekilde davranmasını sağlayın (I78c4a, b/399317598) SavedState*Delegates
öğesiniSavedState*Delegate
olarak yeniden adlandırın. (I8589b, b/399629301)SavedStateConfig
öğesiniSavedStateConfiguration
olarak yeniden adlandırın. (I043a5, b/399629301)
Sürüm 1.3.0-alpha09
26 Şubat 2025
androidx.savedstate:savedstate-*:1.3.0-alpha09
iptal edilir. 1.3.0-alpha09 sürümü bu commit'leri içerir.
Yeni Özellikler
- Yerleşik türler için yedek ekleyin. Böylece,
Bundle
tarafından desteklenen tüm türler varsayılan olarakencodeAsSavedState
/decodeFromSavedState
ile veya@Serializable
sınıflarındaki özellikler için@Contextual
ek açıklaması aracılığıyla kullanılabilir. (Ic01d2) SavedStateConfig
'daclassDiscriminator
veclassDiscriminatorMode
desteği ekleyin. (I69b66, b/395104517)
API Değişiklikleri
SavedStateConfig
parametresinisaved()
temsilcilerine ekleyin (I39b3a)- Yerleşik serileştiricileri singleton nesneler haline getirir (Ifeee4)
SavedStateConfig
özellikleri artık herkese açık olduğundan diğer modüller bu yapılandırmaları kullanabilir. (Ie5f49, b/378897438)MutableStateFlowSerializer
veMutableStateSerializer
için@Serializer(with = ...)
desteği (I90953)contentDeepToString
öğesiniSavedStateReader
'e ekleme (I14d10)
Sürüm 1.3.0-alpha08
12 Şubat 2025
androidx.savedstate:savedstate-*:1.3.0-alpha08
iptal edilir. 1.3.0-alpha08 sürümü bu commit'leri içerir.
Yeni Özellikler
MutableStateSerializer
,lifecycle-viewmodel-compose
'densavedstate-compose
'ye taşındı. Böylece, SavedState Serialization API'lerini Compose'unMutableState
ile kullanabilirsiniz. (I4f690, b/378895074)
API Değişiklikleri
- Mevcut bir
SavedState
öğesindenSavedState
oluşturmak için bir fabrika işlevi ekleyin. (I39f9a) androidx.savedstate
'daArray<SavedState>
veList<SavedState>
desteği eklenir. (Idd8a5)- SavedState kodlama/kod çözme işlemine
SavedStateConfig
isteğe bağlı parametresini ekleyin (I6c4c0)
Sürüm 1.3.0-alpha07
29 Ocak 2025
androidx.savedstate:savedstate-*:1.3.0-alpha07
iptal edilir. 1.3.0-alpha07 sürümü bu commit'leri içerir.
Yeni Özellikler
kotlinx.coroutines.flow.MutableStateFlow
öğesini serileştirmek içinMutableStateFlowSerializer
ekleyin. (I6a892, b/378895070)
API Değişiklikleri
- Aşırı yüklenmiş
SavedStateRegistryOwner.saved()
temsilci işlevlerini varsayılan parametrelerle değiştirme (Icd1c1) JavaSerializableSerializer
veParcelableSerializer
öğelerini soyut yapma (I268f6)- Genel
T : CharSequence
öğesiniCharSequenceSerializer
öğesinden kaldırın (Ib40bd)
Sürüm 1.3.0-alpha06
11 Aralık 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06
iptal edilir. 1.3.0-alpha06 sürümü bu commit'leri içerir.
Yeni Özellikler
SavedState
KMP artık şunları destekliyor:IBinder
,Size
,SizeF
,Array<Parcelable>
,SparseArray<Parcelable>
ve Serializable (Android). (I1ba94, b/334076622)- Sınıfınızdaki ilgili alanı
@Serializable(with = ParcelableSerializer::class)
ile işaretleyerek, Bundle tarafından desteklenen Java ve Android türlerini kodlamak/kod çözmek için kullanılabilecekKSerializer
örnekleri ekleyin. (I8c10f, I28caf, b/376026712) SavedStateRegistryOwner
findViewTreeSavedStateRegistryOwner
aracılığıyla alınan örnekler artık bir görünümün ayrık üst öğeleri (ör.ViewOverlay
) üzerinden çözümlenebilir. Ayrık görünüm üst öğeleri hakkında daha fazla bilgi için Core'un sürüm notlarına veyaViewTree.setViewTreeDisjointParent
bölümündeki dokümanlara bakın. (Iccb33)
API Değişiklikleri
- Adlandırmaları ve paket düzenini
SavedStateRegistryOwnerDelegate
ile daha tutarlı hale getirin (I8c135, b/376026744)
Sürüm 1.3.0-alpha05
13 Kasım 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05
iptal edilir. 1.3.0-alpha05 sürümü bu commit'leri içerir.
KotlinX Serialization Support
SavedState
artık KotlinX Serialization desteği içeriyor.@Serializable
ile açıklama eklenmiş bir sınıfıencodeToSavedState
vedecodeFromSavedState
yöntemlerini kullanarakSavedState
sınıfına dönüştürebilirsiniz. DöndürülenSavedState
, Android'de normal birBundle
olupBundle
kabul eden tüm API'ler tarafından kullanılabilir. (I6f59f, b/374102924)@Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) }
Ayrıca,
@Serializable
sınıflarınıSavedStateRegistryOwner
içinde depolamayı kolaylaştırmak içinsaved
adlı tembel özellik temsilcisini de ekledik (ör.ComponentActivity
,Fragment
vb.) ve bu sınıfların, işlem sonlandırılıp yeniden oluşturulduğunda otomatik olarak geri yüklenmesini sağlayın.saved
temsilcisinin tembel olduğunu ve erişilene kadarinit
lambda'sını çağırmayacağını veyaSavedStateRegistry
içine hiçbir şey kaydetmeyeceğini lütfen unutmayın. (I66739, b/376027806)@Serializable data class Person(val firstName: String, val lastName: String) class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } }
Yaşam Döngüsü
2.9.0-alpha07
'ndeSavedStateHandle
için benzer birsaved
mülk temsilcisi eklenmiştir.
API Değişiklikleri
toMap
öğesiniSavedState
öğesine ekleyerek herhangi birSavedState
öğesinin normalMap
öğesine (sığ kopya) dönüştürülmesine izin verin. (I487b9, b/334076622)SavedState
KMP artık dizileri destekliyor. (Ic0552, b/334076622)
Sürüm 1.3.0-alpha04
30 Ekim 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04
iptal edilir. 1.3.0-alpha04 sürümü bu onayları içerir.
API Değişiklikleri
- SavedState KMP artık Char'ı destekliyor. (I9ac2f, b/334076622)
- SavedState KMP'ye
putNull
veisNull
ekleyin. (Iea71d, b/334076622) - Ek
savedState
fabrika parametreleri ekleyin (I9b37d, b/334076622)Map<String, Any>
- SavedState KMP artık
contentDeepEquals
karşılaştırmasını destekliyor. (Ia515c, b/334076622) - SavedState KMP artık Long'u destekliyor. (I4c180, b/334076622)
Sürüm 1.3.0-alpha03
16 Ekim 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03
sürümünde önemli bir değişiklik yok. 1.3.0-alpha03 sürümü bu commit'leri içerir.
Sürüm 1.3.0-alpha02
2 Ekim 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02
iptal edilir. 1.3.0-alpha02 sürümü bu commit'leri içerir.
Kotlin Multiplatform
SavedState
modülü artık KMP ile uyumlu. Desteklenen platformlar artık Android, iOS, Linux, Mac ve JVM masaüstü ortamlarını içeriyor. (I26305, b/334076622)
Yeni Özellikler
- KMP'de uygulama durumunu kaydetmek ve geri yüklemek için tutarlı bir yol sağlamak üzere
SavedState
opak türünü soyutlama olarak kullanıma sunma. Kaydedilecek durumu değiştirmek içinSavedStateReader
veSavedStateWriter
içerir. Android'deSavedState
,Bundle
için bir tür takma adıdır. Bu sayede ikili uyumluluk sağlanır ve mevcut API'lerin ortak bir kaynak grubuna taşınması kolaylaştırılı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 ile 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ı. 1.3.0-alpha01 sürümü bu commit'leri 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
, 35 (5dc41be) sürümüne güncellendi
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
yayınlandı. 1.2.1 sürümü şu commit'leri içerir.
Bağımlılık Güncellemeleri
SavedState
artık Lifecycle2.6.1
'a 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
yayınlandı. 1.2.0 sürümü şu commit'leri içerir.
1.1.0 sürümünden beri yapılan önemli değişiklikler
SavedStateRegistryController
artıkperformAttach()
üzerindenSavedStateRegistry
'nin erken eklenmesine izin veriyor.- Artık daha önce kaydedilmiş bir
SavedStateProvider
öğesinigetSavedStateProvider()
üzerindenSavedStateRegistry
öğesinden alabilirsiniz. SavedState
kitaplığı Kotlin ile yeniden yazıldı.SavedStateRegistryOwner
için bu, Kotlin ile yazılmış sınıflar için kaynakla uyumlu olmayan bir değişikliktir. Artık öncekigetSavedStateRegistry()
işlevini uygulamak yerinesavedStateRegistry
özelliğini geçersiz kılmanız gerekir.ViewTreeSavedStateRegistryOwner
için bu, Kotlin ile yazılmış sınıflarda kaynakla uyumsuz bir değişikliktir. Daha önce ayarlanmış bir sahibi ayarlamak ve bulmak için artıkandroidx.savedstate.setViewTreeSavedStateRegistryOwner
veandroidx.savedstate.findViewTreeSavedStateRegistryOwner
öğesininView
üzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,findViewTreeSavedStateRegistryOwner
'ninsavedstate-ktx
API'sinin yerini almıştır.
Davranış Değişiklikleri
SavedStateRegistry
Kaydedilecek durum yoksa artık boş bir Bundle kaydetmiyor.
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ü şu commit'leri içerir.
Belgelerdeki Değişiklikler
SavedStateRegistryOwner
Kdocs, arayüzün nasıl uygulanması gerektiği veyaSavedStateRegistryController
üzerindeki yöntemlerin ne zaman çağrılması gerektiği konusunda sahibin sorumluluklarını ve sözleşmesini netleştirmek için 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
yayınlandı. 1.2.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
SavedStateRegistry
veViewTreeSavedStateRegistryOwner
sınıfları Kotlin'de yeniden yazıldı.ViewTreeSavedStateRegistryOwner
için bu, Kotlin ile yazılmış sınıflarda kaynakla uyumsuz bir değişikliktir. Daha önce ayarlanmış bir sahibi ayarlamak ve bulmak için artıkandroidx.savedstate.setViewTreeSavedStateRegistryOwner
veandroidx.savedstate.findViewTreeSavedStateRegistryOwner
öğesininView
üzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,findViewTreeSavedStateRegistryOwner
'ninsavedstate-ktx
API'sinin yerini almıştır. Bu, ikili uyumludur ve Java programlama dilinde yazılan uygulamalar için kaynak uyumluluğunu korur. (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ü şu commit'leri içerir.
Yeni Özellikler
- Artık daha önce kaydedilmiş bir
SavedStateProvider
öğesinigetSavedStateProvider()
üzerindenSavedStateRegistry
öğesinden alabilirsiniz. (I7ea47, b/215406268)
API Değişiklikleri
SavedStateRegistryOwner
,SavedStateRegistryController
veRecreator
sınıfları Kotlin'de yeniden yazıldı.SavedStateRegistryOwner
için bu, Kotlin ile yazılmış sınıflar için kaynakla uyumlu olmayan bir değişikliktir. Artık öncekigetSavedStateRegistry()
işlevini uygulamak yerinesavedStateRegistry
özelliğini geçersiz kılmanız gerekir. Bu, Java programlama dilinde yazılan 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ı. 1.2.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
SavedStateRegistryController
artıkperformAttach()
üzerindenSavedStateRegistry
cihazının erken takılmasına izin veriyor. (Ice4bf)
Davranış Değişiklikleri
SavedStateRegistry
Kaydedilecek durum yoksa artık boş bir Bundle kaydetmiyor. (aosp/1896865, b/203457956)
Sürüm 1.1.0
Sürüm 1.1.0
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ü şu commit'leri içerir.
1.0.0 sürümünden beri yapılan önemli değişiklikler
ViewTreeSavedStateRegistryOwner
API'si: YeniViewTreeSavedStateRegistryOwner.get(View)
API'si,View
örneği verildiğinde kapsayanSavedStateRegistry
öğesini almanıza olanak tanır. Bunu doğru şekilde doldurmak için Activity1.2.0
, Fragment1.3.0
ve AppCompat1.3.0-alpha01
veya sonraki sürümlere yükseltmeniz gerekir.savedstate-ktx
artifact:savedstate-ktx
ile çalışmak içinfindViewTreeSavedStateRegistryOwner()
Kotlin uzantısı içeren yenisavedstate-ktx
artifact eklendi.ViewTreeSavedStateRegistryOwner
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ınlanmaktadır. 1.1.0-rc01 sürümü şu commit'leri 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 beri herhangi bir değişiklik yapılmadan yayınlanmaktadır. 1.1.0-beta01 sürümü şu commit'leri 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
yayınlandı. 1.1.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Yeni
ViewTreeSavedStateRegistryOwner.get(View)
API'si,View
örneği verildiğinde kapsayanSavedStateRegistry
öğesini almanıza olanak tanır. Bunu doğru şekilde doldurmak için Activity1.2.0-alpha05
, Fragment1.3.0-alpha05
ve AppCompat1.3.0-alpha01
'e yükseltme yapmanız gerekir. (aosp/1298679) - Yeni
savedstate-ktx
yapısı,ViewTreeSavedStateRegistryOwner
ile çalışmak içinfindViewTreeSavedStateRegistryOwner()
Kotlin uzantısıyla birlikte 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
iptal edilir. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
SavedState 1.0.0'ın temel özellikleri
androidx.savedstate
kararlı sürüme yükseltildi. Bu, geliştiricilerin bileşenleri geri yükleme / saveInstanceState sürecine bağlamasına olanak tanıyan bir API grubudur. API'nin ana giriş noktası SavedStateRegistry
'dır. Bu nokta, consumeRestoredStateForKey
kullanarak daha önce kaydedilmiş durumları almanın ve sistem istediğinde kaydedilmiş bir durum sağlamak için registerSavedStateProvider
'ye geri çağırma kaydetmenin bir yolunu sunar.
Sürüm 1.0.0-rc01
2 Temmuz 2019
androidx.savedstate:savedstate:1.0.0-rc01
iptal edilir. Bu sürüme dahil edilen commit'leri 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
iptal edilir. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Sürüm 1.0.0-alpha02
13 Mart 2019
androidx.savedstate:savedstate:1.0.0-alpha02
iptal edilir. androidx.savedstate:savedstate
, savedstate altyapısını basitleştirmeye ve SavedStateRegistry
'den genel türleri 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 commit'lerin listesini burada bulabilirsiniz.
Yeni özellikler
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
eklendi. Belirtilen sınıf oluşturulur ve sahip bileşen yeniden başlatıldığındaAutoRecreated.onRecreated
yöntemi çalıştırılır.
API değişiklikleri
- Jenerik ilaçlar
SavedStateRegistry<T>
kapsamından 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ın ilk sürümüdür.
Yeni özellikler
androidx.savedstate
, geliştiricilerin bileşenleri geri yükleme / saveInstanceState işlemine bağlamasına olanak tanıyan yeni bir alfa API'leri grubudur. API'nin ana giriş noktası SavedStateRegistry<T>
'dır. Bu nokta, consumeRestoredStateForKey
aracılığıyla daha önce kaydedilmiş durumu almanın ve sistem istediğinde kaydedilmiş durumu sağlamak için registerSavedStateProvider
'ye geri çağırma kaydetmenin bir yolunu sunar.