Savedstate
| Son Güncelleme | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü |
|---|---|---|---|---|
| 22 Ekim 2025 | 1.3.3 | 1.4.0-rc01 | - | - |
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.3" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.3.3" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.3.3") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.3.3") }
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 varsa 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.4
Sürüm 1.4.0-rc01
22 Ekim 2025
androidx.savedstate:savedstate-*:1.4.0-rc01, 1.4.0-beta01 sürümünden bu yana herhangi bir değişiklik yapılmadan yayınlandı. 1.4.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.4.0-beta01
8 Ekim 2025
androidx.savedstate:savedstate-*:1.4.0-beta01, son alfa sürümünden bu yana önemli bir değişiklik yapılmadan yayınlandı. 1.4.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.4.0-alpha03
27 Ağustos 2025
androidx.savedstate:savedstate-*:1.4.0-alpha03 iptal edilir. 1.4.0-alpha03 sürümü bu commit'leri içerir.
API Değişiklikleri
encodeToSavedStatevedecodeFromSavedState'de null değer atanabilir türler için destek ekleyin. (I79062, b/439527454)- Compose'u 1.9.0 sürümüne güncelleyin. (I2b9de)
Sürüm 1.4.0-alpha02
13 Ağustos 2025
androidx.savedstate:savedstate-*:1.4.0-alpha02 iptal edilir. 1.4.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.4.0-alpha01
30 Temmuz 2025
androidx.savedstate:savedstate-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.
API Değişiklikleri
SavedStateRegistryOwner.savediçinde null değer atanabilir türler için yerel destek eklenerek null değer atanabilir özelliklerin kaydedilmesi ve geri yüklenmesi kolaylaştırıldı. (Ia632, b/421325690)
Sürüm 1.3
Sürüm 1.3.3
17 Eylül 2025
androidx.savedstate:savedstate-*:1.3.3 iptal edilir. 1.3.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
SavedStateKMP yapılarının bozulmasına neden olan, Compose Compiler eklentisinin uygulanmamasıyla ilgili hata düzeltildi. (Id2290, b/443965665)
Sürüm 1.3.2
27 Ağustos 2025
androidx.savedstate:savedstate-*:1.3.2 iptal edilir. 1.3.2 sürümü bu commit'leri içerir.
Yeni Özellikler
- SavedState
*-composeyapay ürününe yeni Kotlin Multiplatform (KMP) hedefleri ekleyin. Lifecycle artık toplamda şu platformları destekliyor: JVM (Android ve Masaüstü), Native (Linux, iOS, watchOS, macOS, MinGW) ve Web (JavaScript, WasmJS). (/Idcf26)
Sürüm 1.3.1
16 Temmuz 2025
androidx.savedstate:savedstate-*:1.3.1 iptal edilir. 1.3.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Açıklamalar tarafından desteklenen tüm KMP hedeflerini
SavedStateyapıtlarına ekleyin. SavedStateyapay nesnelerine yeni Kotlin Multiplatform (KMP) hedefleri eklendi.SavedStateartık toplamda şu platformları destekliyor: JVM (Android ve Masaüstü), Native (Linux, iOS, watchOS, macOS, MinGW) ve Web (JavaScript, WasmJS). Compose 1.9'un kararlı sürümüne bağlı olduğundan,*-composeyapay nesnelerine yeni KMP hedefleri eklenmediğini unutmayın. (I062f4).
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-composemodülüne taşındı. Bu işlev, Compose UI1.9.0-alpha02ve 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-ktxKotlin uzantıları artık temel savedstate modülüne taşındı.SavedStateRegistryOwneraracılığıyla alınanfindViewTreeSavedStateRegistryOwnerörnekleri artık bir görünümün ayrık üstleri (ö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.setViewTreeDisjointParentbölümündeki dokümanlara bakın.
Kotlin Multiplatform
SavedStatemodü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 tutarlı bir şekilde kaydetmek ve geri yüklemek için
SavedStateopak türünü soyutlama olarak kullanıma sunuyoruz. Kaydedilecek durumu değiştirmek içinSavedStateReaderveSavedStateWriteriçerir. Android'deSavedState,Bundleiçin bir tür takma adıdır. Bu sayede ikili uyumluluk sağlanır ve mevcut API'lerin ortak bir kaynak kümesine 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
SavedStateartık KotlinX Serialization desteği içeriyor.@Serializableile açıklama eklenmiş bir sınıfıencodeToSavedStatevedecodeFromSavedStateyöntemlerini kullanarakSavedStatesınıfına dönüştürebilirsiniz. DöndürülenSavedState, Android'de normal birBundleolupBundlekabul 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ştiricilersavedstatemodülündekiandroidx.savedstate.serialization.serializerspaketinde vesavedstate-composemodülündekiandroidx.savedstate.compose.serialization.serializerspaketinde bulunabilir.Ayrıca,
@SerializablesınıflarınıSavedStateRegistryOwneriçinde (ör.savedComponentActivity,Fragmentvb.) ve bu sınıfların, süreç sonlandırılıp yeniden oluşturulduğunda otomatik olarak geri yüklenmesini sağlayın.savedtemsilcisinin tembel olduğunu ve erişilene kadarinitlambda'sını çağırmayacağını veyaSavedStateRegistryiç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'ndeSavedStateHandleiçin benzer birsavedmü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
SavedStateReaderiçindekigetkoleksiyonları için somutlaştırılmamış yöntem varyantları ekleyin. (I0b641, b/399820614)encodeDefaultsözelliğineSavedStateConfigurationekleyerek varsayılan değerlere sahip özelliklerin kodlanıp kodlanmayacağını özelleştirmeye olanak tanıyın. (I893cc, b/395104517)mutableStateMapOföğesini desteklemek içinSnapshotStateMapSerializerekleyin. (Ie6f19, b/378895074)mutableStateListOföğesini desteklemek içinSnapshotStateListSerializerekleyin. (I4d888, b/378895074)SavedStateReader.getvaryantları içingetOrNullalternatif yöntem ekleyin. Bu yöntemler, temel değerleri otomatik olarak kutular. (I6228c, b/399820614)
API Değişiklikleri
getOrElse,getOrNull() ?: else()lehineSavedStateReaderhesabından kaldırıldı. (I87317, b/399820614)inlinedeğiştiricisiniSavedStateReaderveSavedStateWriteryöntemlerinden kaldırın. (If2a02, b/399820614)- Yerleşik Android'e özgü List ve Array serileştiricileri genel API'den kaldırma (Ida293)
SparseParcelableArraySerializeryerineSparseArraySerializerkoyun (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*Delegateolarak yeniden adlandırın. (I8589b, b/399629301)SavedStateConfigöğesiniSavedStateConfigurationolarak 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,
Bundletarafından desteklenen tüm türler varsayılan olarakencodeAsSavedState/decodeFromSavedStateile veya@Serializablesınıflarındaki özellikler için@Contextualek açıklaması aracılığıyla kullanılabilir. (Ic01d2) SavedStateConfig'daclassDiscriminatorveclassDiscriminatorModedesteği ekleyin. (I69b66, b/395104517)
API Değişiklikleri
SavedStateConfigparametresinisaved()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)MutableStateFlowSerializerveMutableStateSerializeriç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şınarak SavedState Serialization API'lerini Compose'unMutableStateile kullanmanıza olanak tanır. (I4f690, b/378895074)
API Değişiklikleri
- Mevcut bir
SavedStateöğesindenSavedStateoluşturmak için bir fabrika işlevi ekleyin. (I39f9a) androidx.savedstate'daArray<SavedState>veList<SavedState>desteği eklendi. (Idd8a5)- SavedState kodlama/kod çözme işlemine
SavedStateConfigisteğ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çinMutableStateFlowSerializerekleyin. (I6a892, b/378895070)
API Değişiklikleri
- Aşırı yüklenmiş
SavedStateRegistryOwner.saved()temsilci işlevlerini varsayılan parametrelerle değiştirme (Icd1c1) JavaSerializableSerializerveParcelableSerializeröğ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
SavedStateKMP 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) SavedStateRegistryOwneraracılığıyla alınanfindViewTreeSavedStateRegistryOwnerörnekleri artık bir görünümün ayrık üstleri (ö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.setViewTreeDisjointParentbölümündeki dokümanlara bakın. (Iccb33)
API Değişiklikleri
- Adlandırmaları ve paket düzenini
SavedStateRegistryOwnerDelegateile 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
SavedStateartık KotlinX Serialization desteği içeriyor.@Serializableile açıklama eklenmiş bir sınıfıencodeToSavedStatevedecodeFromSavedStateyöntemlerini kullanarakSavedStatesınıfına dönüştürebilirsiniz. DöndürülenSavedState, Android'de normal birBundleolupBundlekabul 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,
@SerializablesınıflarınıSavedStateRegistryOwneriçinde (ör.savedComponentActivity,Fragmentvb.) ve bu sınıfların, süreç sonlandırılıp yeniden oluşturulduğunda otomatik olarak geri yüklenmesini sağlayın.savedtemsilcisinin tembel olduğunu ve erişilene kadarinitlambda'sını çağırmayacağını veyaSavedStateRegistryiç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'ndeSavedStateHandleiçin benzer birsavedmü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)SavedStateKMP 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 commit'leri içerir.
API Değişiklikleri
- SavedState KMP artık Char'ı destekliyor. (I9ac2f, b/334076622)
- SavedState KMP'ye
putNullveisNullekleyin. (Iea71d, b/334076622) - Ek
savedStatefabrika parametreleri ekleyin (I9b37d, b/334076622)Map<String, Any> - SavedState KMP artık
contentDeepEqualskarşı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
SavedStatemodü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 tutarlı bir şekilde kaydetmek ve geri yüklemek için
SavedStateopak türünü soyutlama olarak kullanıma sunuyoruz. Kaydedilecek durumu değiştirmek içinSavedStateReaderveSavedStateWriteriçerir. Android'deSavedState,Bundleiçin bir tür takma adıdır. Bu sayede ikili uyumluluk sağlanır ve mevcut API'lerin ortak bir kaynak kümesine 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
SavedStateRegistryveSavedStateRegistryControllerartık KMP ile uyumlu. (Id7bb8, b/334076622)SavedState,SavedStateWriterveSavedStateReaderartı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-ktxKotlin 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
SavedStateartı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
SavedStateRegistryControllerartıkperformAttach()üzerindenSavedStateRegistry'nin erken eklenmesine izin veriyor.- Artık daha önce kaydedilmiş bir
SavedStateProvideröğesinigetSavedStateProvider()üzerindenSavedStateRegistryile alabilirsiniz. SavedStatekitaplığı Kotlin ile yeniden yazıldı.SavedStateRegistryOwneriçin bu, Kotlin ile yazılmış sınıflar için kaynakla uyumsuz bir değişikliktir. Artık öncekigetSavedStateRegistry()işlevini uygulamak yerinesavedStateRegistryözelliğini geçersiz kılmanız gerekir.ViewTreeSavedStateRegistryOwneriç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.setViewTreeSavedStateRegistryOwnerveandroidx.savedstate.findViewTreeSavedStateRegistryOwneröğesininViewüzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,findViewTreeSavedStateRegistryOwner'ninsavedstate-ktxAPI'sinin yerini almıştır.
Davranış Değişiklikleri
SavedStateRegistryKaydedilecek durum yoksa artık boş Paket 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
SavedStateRegistryOwnerKdocs, 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
SavedStateRegistryveViewTreeSavedStateRegistryOwnersınıfları Kotlin'de yeniden yazıldı.ViewTreeSavedStateRegistryOwneriç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.setViewTreeSavedStateRegistryOwnerveandroidx.savedstate.findViewTreeSavedStateRegistryOwneröğesininViewüzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,findViewTreeSavedStateRegistryOwner'ninsavedstate-ktxAPI'sinin yerini almıştır. Bu, ikili uyumludur ve Java programlama dilinde yazılan uygulamalar için kaynak uyumlu olmaya devam eder. (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()üzerindenSavedStateRegistryile alabilirsiniz. (I7ea47, b/215406268)
API Değişiklikleri
SavedStateRegistryOwner,SavedStateRegistryControllerveRecreatorsınıfları Kotlin'de yeniden yazıldı.SavedStateRegistryOwneriçin bu, Kotlin ile yazılmış sınıflar için kaynakla uyumsuz 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
SavedStateRegistryControllerartıkperformAttach()üzerindenSavedStateRegistrycihazının erken takılmasına izin veriyor. (Ice4bf)
Davranış Değişiklikleri
SavedStateRegistryKaydedilecek durum yoksa artık boş Paket 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
ViewTreeSavedStateRegistryOwnerAPI'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.0ve AppCompat1.3.0-alpha01veya sonraki sürümlere yükseltmeniz gerekir.savedstate-ktxartifact:savedstate-ktxartifact'i,ViewTreeSavedStateRegistryOwnerile çalışmak içinfindViewTreeSavedStateRegistryOwner()Kotlin uzantısıyla birlikte ekledik.
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ınlanıyor. 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ınlanıyor. 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-alpha05ve AppCompat1.3.0-alpha01'e yükseltme yapmanız gerekir. (aosp/1298679) - Yeni
savedstate-ktxyapay ürünü,ViewTreeSavedStateRegistryOwnerile ç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 işlemine bağlamasına olanak tanıyan bir API kümesidir. 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ştirmek ve SavedStateRegistry'den genel türleri kaldırmak 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.onRecreatedyöntemi çalıştırılır.
API değişiklikleri
- Jenerik öğeler
SavedStateRegistry<T>koleksiyonundan kaldırıldı - AbstractSavedStateRegistry ve BundlableSavedStateRegistry kaldırıldı. Bunun yerine basit
SavedStateRegistrykullanın. BundleSavedStateRegistryOwner,SavedStateRegistryOwnerolarak yeniden adlandırıldı
Sürüm 1.0.0-alpha01
17 Aralık 2018
Bu, SavedState'ı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.