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
- encodeToSavedStateve- decodeFromSavedState'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 yeni- savedstate-composemodülüne taşındı. Bu işlev, Compose UI- 1.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ınan- findViewTreeSavedStateRegistryOwnerö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 veya- ViewTree.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çin- SavedStateReaderve- SavedStateWriteriçerir. Android'de- SavedState,- 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 platformlarda- SavedState,- 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ı- encodeToSavedStateve- decodeFromSavedStateyöntemlerini kullanarak- SavedStatesınıfına dönüştürebilirsiniz. Döndürülen- SavedState, Android'de normal bir- Bundleolup- Bundlekabul 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ştiriciler- savedstatemodülündeki- androidx.savedstate.serialization.serializerspaketinde ve- savedstate-composemodülündeki- androidx.savedstate.compose.serialization.serializerspaketinde bulunabilir.
- Ayrıca, - @Serializablesınıflarını- SavedStateRegistryOwneriçinde (ör.- saved- ComponentActivity,- 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 kadar- initlambda'sını çağırmayacağını veya- SavedStateRegistryiç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'nde- SavedStateHandleiçin benzer bir- savedmü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çindeki- getkoleksiyonları için somutlaştırılmamış yöntem varyantları ekleyin. (I0b641, b/399820614)
- encodeDefaultsözelliğine- SavedStateConfigurationekleyerek varsayılan değerlere sahip özelliklerin kodlanıp kodlanmayacağını özelleştirmeye olanak tanıyın. (I893cc, b/395104517)
- mutableStateMapOföğesini desteklemek için- SnapshotStateMapSerializerekleyin. (Ie6f19, b/378895074)
- mutableStateListOföğesini desteklemek için- SnapshotStateListSerializerekleyin. (I4d888, b/378895074)
- SavedStateReader.getvaryantları için- getOrNullalternatif yöntem ekleyin. Bu yöntemler, temel değerleri otomatik olarak kutular. (I6228c, b/399820614)
API Değişiklikleri
- getOrElse,- getOrNull() ?: else()lehine- SavedStateReaderhesabından kaldırıldı. (I87317, b/399820614)
- inlinedeğiştiricisini- SavedStateReaderve- SavedStateWriteryöntemlerinden kaldırın. (If2a02, b/399820614)
- Yerleşik Android'e özgü List ve Array serileştiricileri genel API'den kaldırma (Ida293)
- SparseParcelableArraySerializeryerine- SparseArraySerializerkoyun (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öğesini- SavedState*Delegateolarak yeniden adlandırın. (I8589b, b/399629301)
- SavedStateConfigöğesini- SavedStateConfigurationolarak 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'da- classDiscriminatorve- classDiscriminatorModedesteği ekleyin. (I69b66, b/395104517)
API Değişiklikleri
- SavedStateConfigparametresini- saved()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)
- MutableStateFlowSerializerve- MutableStateSerializeriçin- @Serializer(with = ...)desteği (I90953)
- contentDeepToStringöğesini- SavedStateReader'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'den- savedstate-compose'ye taşınarak SavedState Serialization API'lerini Compose'un- MutableStateile 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'da- Array<SavedState>ve- List<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çin- MutableStateFlowSerializerekleyin. (I6a892, b/378895070)
API Değişiklikleri
- Aşırı yüklenmiş SavedStateRegistryOwner.saved()temsilci işlevlerini varsayılan parametrelerle değiştirme (Icd1c1)
- JavaSerializableSerializerve- ParcelableSerializeröğ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ınan- findViewTreeSavedStateRegistryOwnerö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 veya- ViewTree.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ı- encodeToSavedStateve- decodeFromSavedStateyöntemlerini kullanarak- SavedStatesınıfına dönüştürebilirsiniz. Döndürülen- SavedState, Android'de normal bir- Bundleolup- Bundlekabul 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.- saved- ComponentActivity,- 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 kadar- initlambda'sını çağırmayacağını veya- SavedStateRegistryiç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'nde- SavedStateHandleiçin benzer bir- savedmülk temsilcisi eklenmiştir.
API Değişiklikleri
- toMapöğesini- SavedStateöğesine ekleyerek herhangi bir- SavedStateöğesinin normal- Mapöğ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
- SavedStateRegistryve- SavedStateRegistryControllerartık KMP ile uyumlu. (Id7bb8, b/334076622)
- SavedState,- SavedStateWriterve- SavedStateReaderartı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 Lifecycle- 2.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ık- performAttach()üzerinden- SavedStateRegistry'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 önceki- getSavedStateRegistry()işlevini uygulamak yerine- savedStateRegistryö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ık- androidx.savedstate.setViewTreeSavedStateRegistryOwnerve- androidx.savedstate.findViewTreeSavedStateRegistryOwneröğesinin- Viewüzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,- findViewTreeSavedStateRegistryOwner'nin- savedstate-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 veya- SavedStateRegistryControllerü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
- SavedStateRegistryve- ViewTreeSavedStateRegistryOwnersı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ık- androidx.savedstate.setViewTreeSavedStateRegistryOwnerve- androidx.savedstate.findViewTreeSavedStateRegistryOwneröğesinin- Viewüzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API,- findViewTreeSavedStateRegistryOwner'nin- savedstate-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,- SavedStateRegistryControllerve- Recreatorsı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 önceki- getSavedStateRegistry()işlevini uygulamak yerine- savedStateRegistryö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ık- performAttach()üzerinden- SavedStateRegistrycihazı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: Yeni- ViewTreeSavedStateRegistryOwner.get(View)API'si,- Viewörneği verildiğinde kapsayan- SavedStateRegistryöğesini almanıza olanak tanır. Bunu doğru şekilde doldurmak için Activity- 1.2.0, Fragment- 1.3.0ve AppCompat- 1.3.0-alpha01veya sonraki sürümlere yükseltmeniz gerekir.
- savedstate-ktxartifact:- savedstate-ktxartifact'i,- ViewTreeSavedStateRegistryOwnerile çalışmak için- findViewTreeSavedStateRegistryOwner()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ığında- AutoRecreated.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.
