Savedstate

Bir işlem sonlandığında kullanıcı arayüzü durumunu kaydeden ve işlem yeniden başlatıldığında geri yükleyen, takılabilir bileşenler yazın.
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.

Yeni sorun oluşturma

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 yeni savedstate-compose modülüne taşındı. Bu, Compose UI 1.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 veya ViewTree.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çin SavedStateReader ve SavedStateWriter içerir. Android'de SavedState, 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 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

  • SavedState artık KotlinX Serialization desteği içeriyor. @Serializable ile açıklama eklenmiş bir sınıfı encodeToSavedState ve decodeFromSavedState yöntemlerini kullanarak SavedState sınıfına dönüştürebilirsiniz. Döndürülen SavedState, Android'de normal bir Bundle olup Bundle 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ştiriciler savedstate modülündeki androidx.savedstate.serialization.serializers paketinde ve savedstate-compose modülündeki androidx.savedstate.compose.serialization.serializers paketinde bulunabilir.

  • Ayrıca, @Serializable sınıflarını SavedStateRegistryOwner içinde depolamayı kolaylaştırmak için saved 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 kadar init lambda'sını çağırmayacağını veya SavedStateRegistry 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'nde SavedStateHandle için benzer bir saved 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çindeki get koleksiyonları için somutlaştırılmamış yöntem varyantları ekleyin. (I0b641, b/399820614)
  • encodeDefaults özelliğine SavedStateConfiguration ekleyerek varsayılan değerlere sahip özelliklerin kodlanıp kodlanmayacağını özelleştirmeye olanak tanır. (I893cc, b/395104517)
  • mutableStateMapOf öğesini desteklemek için SnapshotStateMapSerializer ekleyin. (Ie6f19, b/378895074)
  • mutableStateListOf öğesini desteklemek için SnapshotStateListSerializer ekleyin. (I4d888, b/378895074)
  • getOrNull varyant için SavedStateReader.get alternatif yöntem ekleyin. Bu yöntemler, temel değerleri otomatik olarak kutular. (I6228c, b/399820614)

API Değişiklikleri

  • getOrElse, getOrNull() ?: else() lehine SavedStateReader hesabından kaldırılıyor. (I87317, b/399820614)
  • inline değiştiricisini SavedStateReader ve SavedStateWriter 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 yerine SparseArraySerializer 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 öğesini SavedState*Delegate olarak yeniden adlandırın. (I8589b, b/399629301)
  • SavedStateConfig öğesini SavedStateConfiguration 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 olarak encodeAsSavedState/decodeFromSavedState ile veya @Serializable sınıflarındaki özellikler için @Contextual ek açıklaması aracılığıyla kullanılabilir. (Ic01d2)
  • SavedStateConfig'da classDiscriminator ve classDiscriminatorMode desteği ekleyin. (I69b66, b/395104517)

API Değişiklikleri

  • SavedStateConfig parametresini 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)
  • MutableStateFlowSerializer ve MutableStateSerializer iç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şındı. Böylece, SavedState Serialization API'lerini Compose'un MutableState ile kullanabilirsiniz. (I4f690, b/378895074)

API Değişiklikleri

  • Mevcut bir SavedState öğesinden SavedState oluşturmak için bir fabrika işlevi ekleyin. (I39f9a)
  • androidx.savedstate'da Array<SavedState> ve List<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çin MutableStateFlowSerializer 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 ve ParcelableSerializer öğelerini soyut yapma (I268f6)
  • Genel T : CharSequence öğesini CharSequenceSerializer öğ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ılabilecek KSerializer ö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 veya ViewTree.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 ve decodeFromSavedState yöntemlerini kullanarak SavedState sınıfına dönüştürebilirsiniz. Döndürülen SavedState, Android'de normal bir Bundle olup Bundle 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çin saved 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 kadar init lambda'sını çağırmayacağını veya SavedStateRegistry 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'nde SavedStateHandle için benzer bir saved mü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)
  • 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

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çin SavedStateReader ve SavedStateWriter içerir. Android'de SavedState, 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 platformlarda SavedState, 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 ve SavedStateRegistryController artık KMP ile uyumlu. (Id7bb8, b/334076622)
  • SavedState, SavedStateWriter ve SavedStateReader 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

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ık performAttach() üzerinden SavedStateRegistry'nin erken eklenmesine izin veriyor.
  • Artık daha önce kaydedilmiş bir SavedStateProvider öğesini getSavedStateProvider() üzerinden SavedStateRegistry öğ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 önceki getSavedStateRegistry() işlevini uygulamak yerine savedStateRegistry ö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ık androidx.savedstate.setViewTreeSavedStateRegistryOwner ve androidx.savedstate.findViewTreeSavedStateRegistryOwner öğesinin View üzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API, findViewTreeSavedStateRegistryOwner'nin savedstate-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 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

  • SavedStateRegistry ve ViewTreeSavedStateRegistryOwner 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ık androidx.savedstate.setViewTreeSavedStateRegistryOwner ve androidx.savedstate.findViewTreeSavedStateRegistryOwner öğesinin View üzerinde Kotlin uzantı yöntemlerini doğrudan içe aktarıp kullanmanız gerekir. Bu API, findViewTreeSavedStateRegistryOwner'nin savedstate-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 öğesini getSavedStateProvider() üzerinden SavedStateRegistry öğesinden alabilirsiniz. (I7ea47, b/215406268)

API Değişiklikleri

  • SavedStateRegistryOwner, SavedStateRegistryController ve Recreator 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 ö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

  • SavedStateRegistryController artık performAttach() üzerinden SavedStateRegistry cihazının erken takılmasına izin veriyor. (Ice4bf)

Davranış Değişiklikleri

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: 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.0 ve AppCompat 1.3.0-alpha01 veya sonraki sürümlere yükseltmeniz gerekir.
  • savedstate-ktx artifact: savedstate-ktx ile çalışmak için findViewTreeSavedStateRegistryOwner() Kotlin uzantısı içeren yeni savedstate-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 kapsayan SavedStateRegistry öğesini almanıza olanak tanır. Bunu doğru şekilde doldurmak için Activity 1.2.0-alpha05, Fragment 1.3.0-alpha05 ve AppCompat 1.3.0-alpha01'e yükseltme yapmanız gerekir. (aosp/1298679)
  • Yeni savedstate-ktx yapısı, ViewTreeSavedStateRegistryOwner ile çalışmak için findViewTreeSavedStateRegistryOwner() 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

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ığında AutoRecreated.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.