সেভডস্টেট

প্লাগেবল কম্পোনেন্ট লিখুন যা কোনও প্রক্রিয়া বন্ধ হয়ে গেলে UI অবস্থা সংরক্ষণ করে এবং প্রক্রিয়াটি পুনরায় চালু হলে এটি পুনরুদ্ধার করে।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ রিলিজ প্রার্থী বিটা রিলিজ আলফা রিলিজ
২২ অক্টোবর, ২০২৫ ১.৩.৩ ১.৪.০-আরসি০১ - -

নির্ভরতা ঘোষণা করা

SavedState-এ নির্ভরতা যোগ করতে, আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টের জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    // Java language implementation
    implementation "androidx.savedstate:savedstate:1.3.3"

    // Kotlin
    implementation "androidx.savedstate:savedstate-ktx:1.3.3"
}

কোটলিন

dependencies {
    // Java language implementation
    implementation("androidx.savedstate:savedstate:1.3.3")

    // Kotlin
    implementation("androidx.savedstate:savedstate-ktx:1.3.3")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যোগ করুন দেখুন।

প্রতিক্রিয়া

আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করবে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন অথবা এই লাইব্রেরি উন্নত করার জন্য কোন ধারণা থাকে তাহলে আমাদের জানান। নতুন একটি তৈরি করার আগে দয়া করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি একবার দেখে নিন। আপনি তারকা বোতামে ক্লিক করে বিদ্যমান সমস্যাটিতে আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.4

সংস্করণ 1.4.0-rc01

২২ অক্টোবর, ২০২৫

androidx.savedstate:savedstate-*:1.4.0-rc01 1.4.0-beta01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। 1.4.0-rc01 সংস্করণে এই কমিটগুলি রয়েছে।

সংস্করণ 1.4.0-beta01

৮ অক্টোবর, ২০২৫

androidx.savedstate:savedstate-*:1.4.0-beta01 শেষ আলফা থেকে কোনও উল্লেখযোগ্য পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 1.4.0-beta01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.4.0-alpha03

২৭ আগস্ট, ২০২৫

androidx.savedstate:savedstate-*:1.4.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha03-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • encodeToSavedState এবং decodeFromSavedState এ nullable প্রকারের জন্য সমর্থন যোগ করুন। ( I79062 , b/439527454 )
  • কম্পোজ 1.9.0 এ আপডেট করুন। ( I2b9de )

সংস্করণ 1.4.0-alpha02

১৩ আগস্ট, ২০২৫

androidx.savedstate:savedstate-*:1.4.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha02-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.4.0-alpha01

৩০ জুলাই, ২০২৫

androidx.savedstate:savedstate-*:1.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • SavedStateRegistryOwner.saved এ nullable প্রকারের জন্য নেটিভ সাপোর্ট যোগ করুন, nullable বৈশিষ্ট্য সংরক্ষণ এবং পুনরুদ্ধার সহজ করুন। ( Ia632 , b/421325690 )

সংস্করণ 1.3

সংস্করণ 1.3.3

১৭ সেপ্টেম্বর, ২০২৫

androidx.savedstate:savedstate-*:1.3.3 প্রকাশিত হয়েছে। সংস্করণ 1.3.3-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • কম্পোজ কম্পাইলার প্লাগইন প্রয়োগ না করার কারণে SavedState KMP আর্টিফ্যাক্টগুলি ভেঙে যাওয়ার একটি ত্রুটি সংশোধন করা হয়েছে। ( Id2290 , b/443965665 )

সংস্করণ 1.3.2

২৭ আগস্ট, ২০২৫

androidx.savedstate:savedstate-*:1.3.2 প্রকাশিত হয়েছে। সংস্করণ 1.3.2-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • SavedState *-compose আর্টিফ্যাক্টে নতুন Kotlin Multiplatform (KMP) টার্গেট যোগ করুন। Lifecycle এখন মোট নিম্নলিখিত প্ল্যাটফর্মগুলিকে সমর্থন করে: JVM (Android এবং Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), এবং Web (JavaScript, WasmJS)। ( /Idcf26 )

সংস্করণ 1.3.1

১৬ জুলাই, ২০২৫

androidx.savedstate:savedstate-*:1.3.1 প্রকাশিত হয়েছে। সংস্করণ 1.3.1-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • SavedState আর্টিফ্যাক্টে টীকা দ্বারা সমর্থিত সমস্ত KMP টার্গেট যোগ করুন।
  • SavedState আর্টিফ্যাক্টগুলিতে নতুন Kotlin Multiplatform (KMP) টার্গেট যোগ করা হয়েছে। SavedState এখন মোট নিম্নলিখিত প্ল্যাটফর্মগুলিকে সমর্থন করে: JVM (Android এবং Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), এবং Web (JavaScript, WasmJS)। মনে রাখবেন যে *-compose আর্টিফ্যাক্টগুলিতে কোনও নতুন KMP টার্গেট যোগ করা হয়নি, কারণ এটি Compose 1.9. ( I062f4 ) এর স্থিতিশীল প্রকাশের উপর নির্ভর করে।

সংস্করণ 1.3.0

৭ মে, ২০২৫

androidx.savedstate:savedstate-*:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-এ এই কমিটগুলি রয়েছে।

১.২.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি

  • LocalSavedStateRegistryOwner Compose UI থেকে নতুন savedstate-compose মডিউলে স্থানান্তরিত করা হয়েছে যাতে এর Compose-ভিত্তিক সহায়ক API গুলি Compose UI এর বাইরে ব্যবহার করা যায়। Compose UI 1.9.0-alpha02 এবং উচ্চতর সংস্করণ ব্যবহার করার সময় এটি সর্বদা ব্যবহার করা উচিত, তবে এটি ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ যাতে এটি Compose এর সমস্ত সংস্করণের সাথে ব্যবহার করা যায়।
  • savedstate-ktx kotlin এক্সটেনশনগুলি এখন বেস savedstate মডিউলে স্থানান্তরিত করা হয়েছে।
  • findViewTreeSavedStateRegistryOwner এর মাধ্যমে পুনরুদ্ধার করা SavedStateRegistryOwner দৃষ্টান্তগুলি এখন ViewOverlay এর মতো কোনও ভিউয়ের ডিসজয়েন্ট প্যারেন্টের মাধ্যমে সমাধান করা যেতে পারে। ডিসজয়েন্ট ভিউ প্যারেন্ট সম্পর্কে আরও তথ্যের জন্য core এর রিলিজ নোট বা ViewTree.setViewTreeDisjointParent এর ডকুমেন্টেশন দেখুন।

কোটলিন মাল্টিপ্ল্যাটফর্ম

  • SavedState মডিউলটি এখন KMP-এর সাথে সামঞ্জস্যপূর্ণ। সমর্থিত প্ল্যাটফর্মগুলিতে এখন Android, iOS, Linux, Mac এবং JVM ডেস্কটপ পরিবেশ অন্তর্ভুক্ত রয়েছে।
  • KMP-তে অ্যাপ্লিকেশন স্টেট সংরক্ষণ এবং পুনরুদ্ধার করার জন্য একটি সুসংগত উপায় প্রদানের জন্য SavedState opaque টাইপকে একটি বিমূর্তকরণ হিসাবে প্রবর্তন করুন। এতে সংরক্ষণ করা অবস্থা পরিবর্তন করার জন্য একটি SavedStateReader এবং SavedStateWriter অন্তর্ভুক্ত রয়েছে। Android-এ, SavedState হল Bundle এর একটি টাইপ উপনাম, যা বাইনারি সামঞ্জস্যতা নিশ্চিত করে এবং বিদ্যমান API গুলিকে একটি সাধারণ উৎস সেটে স্থানান্তরিত করতে সহায়তা করে। অন্যান্য প্ল্যাটফর্মগুলিতে, SavedState হল একটি Map<String, Any> উদাহরণ।

      // 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 সিরিয়ালাইজেশন সাপোর্ট

  • SavedState এখন KotlinX Serialization সাপোর্ট রয়েছে। আপনি encodeToSavedState এবং decodeFromSavedState পদ্ধতি ব্যবহার করে @Serializable দিয়ে টীকাযুক্ত একটি ক্লাসকে SavedState এ রূপান্তর করতে পারেন। ফিরে আসা SavedState হল Android-এ একটি নিয়মিত Bundle এবং এটি Bundle গ্রহণকারী যেকোনো API দ্বারা ব্যবহার করা যেতে পারে।

    @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)
    }
    
  • যদিও বেশিরভাগ প্রকার (যেমন আদিম প্রকার) কোনও কনফিগারেশনের প্রয়োজন ছাড়াই সরাসরি সমর্থিত, অতিরিক্ত সিরিয়ালাইজার যা @Serializable(with = ___:class) সাথে ব্যবহার করা যেতে পারে সেগুলি savedstate মডিউলের androidx.savedstate.serialization.serializers প্যাকেজে এবং savedstate-compose মডিউলের androidx.savedstate.compose.serialization.serializers প্যাকেজে পাওয়া যেতে পারে।

  • আমরা SavedStateRegistryOwner (যেমন, ComponentActivity , Fragment , ইত্যাদি) তে @Serializable ক্লাসগুলি সংরক্ষণ করা সহজ করার জন্য saved , একটি lazy property delegateও অন্তর্ভুক্ত করেছি এবং প্রক্রিয়া মৃত্যু এবং পুনর্নির্মাণের সময় সেই ক্লাসগুলি স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করা হবে। অনুগ্রহ করে মনে রাখবেন যে saved ডেলিগেটটি অলস এবং এটি অ্যাক্সেস না করা পর্যন্ত init lambda কল করবে না বা SavedStateRegistry তে কিছু সংরক্ষণ করবে না।

    @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")
        }
    }
    
  • Lifecycle 2.9.0SavedStateHandle এর জন্য একই রকম একটি saved সম্পত্তি প্রতিনিধি যোগ করা হয়েছে।

সংস্করণ 1.3.0-rc01

২৩ এপ্রিল, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.3.0-beta01

৯ এপ্রিল, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিটগুলি রয়েছে।

নির্ভরতা আপডেট

  • এই লাইব্রেরিটি এখন Kotlin 2.0 ভাষা স্তরকে লক্ষ্য করে এবং KGP 2.0.0 বা তার পরবর্তী সংস্করণ প্রয়োজন। ( Idb6b5 )

সংস্করণ 1.3.0-alpha11

২৬ মার্চ, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-alpha11 কোনও উল্লেখযোগ্য পাবলিক পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha11-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.3.0-alpha10

১২ মার্চ, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha10-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • SavedStateReader এ সংগ্রহ get জন্য নন-রিফাইন্ড পদ্ধতির ধরণ যোগ করুন। ( I0b641 , b/399820614 )
  • SavedStateConfigurationencodeDefaults যোগ করুন, যা ডিফল্ট মান সহ বৈশিষ্ট্যগুলি এনকোড করা উচিত কিনা তা কাস্টমাইজ করার অনুমতি দেয়। ( I893cc , b/395104517 )
  • mutableStateMapOf সমর্থন করার জন্য SnapshotStateMapSerializer যোগ করুন। ( Ie6f19 , b/378895074 )
  • mutableStateListOf সমর্থন করার জন্য SnapshotStateListSerializer যোগ করুন। ( I4d888 , b/378895074 )
  • SavedStateReader.get ভেরিয়েন্টের জন্য getOrNull বিকল্প পদ্ধতি যোগ করুন। এই পদ্ধতিগুলি আদিম মানগুলিকে স্বয়ংক্রিয়ভাবে বক্স করবে। ( I6228c , b/399820614 )

API পরিবর্তনগুলি

  • SavedStateReader থেকে getOrElse সরান getOrNull() ?: else() এর পক্ষে। ( I87317 , b/399820614 )
  • SavedStateReader এবং SavedStateWriter পদ্ধতি থেকে inline মডিফায়ার সরান। ( If2a02 , b/399820614 )
  • পাবলিক API ( Ida293 ) থেকে বিল্ট-ইন অ্যান্ড্রয়েড-নির্দিষ্ট তালিকা এবং অ্যারে সিরিয়ালাইজারগুলি সরান।
  • SparseParcelableArraySerializer SparseArraySerializer ( I91de8 ) দিয়ে প্রতিস্থাপন করুন।
  • যখন ভ্যালু টাইপ রিটার্ন টাইপের সাথে মেলে না তখন থ্রো করে সমস্ত SavedStateReader.get ধারাবাহিকভাবে আচরণ করতে দিন ( I78c4a , b/399317598 )
  • SavedState*Delegates নাম পরিবর্তন করে SavedState*Delegate । ( I8589b , b/399629301 )
  • SavedStateConfig নাম পরিবর্তন করে SavedStateConfiguration করুন। ( I043a5 , b/399629301 )

সংস্করণ 1.3.0-alpha09

২৬ ফেব্রুয়ারী, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha09-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • বিল্ট-ইন টাইপের জন্য ফলব্যাক যোগ করুন, নিশ্চিত করুন যে Bundle দ্বারা সমর্থিত সমস্ত টাইপ ডিফল্টভাবে encodeAsSavedState / decodeFromSavedState এর সাথে ব্যবহার করা যেতে পারে অথবা @Serializable ক্লাসের প্রোপার্টিগুলির জন্য @Contextual অ্যানোটেশনের মাধ্যমে ব্যবহার করা যেতে পারে। ( Ic01d2 )
  • SavedStateConfigclassDiscriminator এবং classDiscriminatorMode এর জন্য সমর্থন অন্তর্ভুক্ত করুন। ( I69b66 , b/395104517 )

API পরিবর্তনগুলি

  • saved() ডেলিগেটগুলিতে SavedStateConfig প্যারামিটার যোগ করুন ( I39b3a )
  • বিল্ট-ইন সিরিয়ালাইজার সিঙ্গেলটন অবজেক্ট তৈরি করে ( Ifeee4 )
  • SavedStateConfig বৈশিষ্ট্যগুলি এখন সর্বজনীন, যা অন্যান্য মডিউলগুলিকে এই কনফিগারেশনগুলি ব্যবহার করতে সক্ষম করে। ( Ie5f49 , b/378897438 )
  • MutableStateFlowSerializer এবং MutableStateSerializer ( I90953 ) এর জন্য @Serializer(with = ...) সমর্থন করুন।
  • SavedStateReader ( I14d10 ) এ contentDeepToString যোগ করুন

সংস্করণ 1.3.0-alpha08

১২ ফেব্রুয়ারী, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha08-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • MutableStateSerializer lifecycle-viewmodel-compose থেকে savedstate-compose এ সরান, যার ফলে আপনি Compose এর MutableState দিয়ে SavedState Serialization API গুলি ব্যবহার করতে পারবেন। ( I4f690 , b/378895074 )

API পরিবর্তনগুলি

  • একটি বিদ্যমান SavedState থেকে SavedState তৈরি করতে একটি ফ্যাক্টরি ফাংশন যোগ করুন। ( I39f9a )
  • androidx.savedstateArray<SavedState> এবং List<SavedState> এর জন্য সমর্থন যোগ করে। ( Idd8a5 )
  • SavedState এনকোডিং/ডিকোডিং ( I6c4c0 ) তে SavedStateConfig ঐচ্ছিক প্যারামিটার যোগ করুন

সংস্করণ 1.3.0-alpha07

২৯ জানুয়ারী, ২০২৫

androidx.savedstate:savedstate-*:1.3.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha07-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • kotlinx.coroutines.flow.MutableStateFlow সিরিয়ালাইজ করার জন্য MutableStateFlowSerializer যোগ করুন। ( I6a892 , b/378895070 )

API পরিবর্তনগুলি

  • ওভারলোডেড SavedStateRegistryOwner.saved() ডেলিগেট ফাংশনগুলিকে ডিফল্ট প্যারামিটার ( Icd1c1 ) দিয়ে প্রতিস্থাপন করুন।
  • JavaSerializableSerializer এবং ParcelableSerializer কে বিমূর্ত করুন ( I268f6 )
  • CharSequenceSerializer ( Ib40bd ) থেকে জেনেরিক T : CharSequence সরান

সংস্করণ 1.3.0-alpha06

১১ ডিসেম্বর, ২০২৪

androidx.savedstate:savedstate-*:1.3.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha06-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • SavedState KMP এখন নিম্নলিখিতগুলি সমর্থন করে: IBinder , Size , SizeF , Array<Parcelable> , SparseArray<Parcelable> এবং Serializable (Android)। ( I1ba94 , b/334076622 )
  • আপনার ক্লাসের প্রাসঙ্গিক ক্ষেত্রটি @Serializable(with = ParcelableSerializer::class) দিয়ে চিহ্নিত করে Bundle দ্বারা সমর্থিত Java এবং Android প্রকারগুলিকে এনকোড/ডিকোড করতে KSerializer ইনস্ট্যান্স যোগ করুন। ( I8c10f , I28caf , b/376026712 )
  • findViewTreeSavedStateRegistryOwner এর মাধ্যমে পুনরুদ্ধার করা SavedStateRegistryOwner দৃষ্টান্তগুলি এখন ViewOverlay এর মতো কোনও ভিউয়ের ডিসজয়েন্ট প্যারেন্টের মাধ্যমে সমাধান করা যেতে পারে। ডিসজয়েন্ট ভিউ প্যারেন্ট সম্পর্কে আরও তথ্যের জন্য core এর রিলিজ নোট বা ViewTree.setViewTreeDisjointParent এর ডকুমেন্টেশন দেখুন। ( Iccb33 )

API পরিবর্তনগুলি

  • SavedStateRegistryOwnerDelegate ( I8c135 , b/376026744 ) এর সাথে নামকরণ এবং প্যাকেজ সংগঠনকে আরও সামঞ্জস্যপূর্ণ করুন।

সংস্করণ 1.3.0-alpha05

১৩ নভেম্বর, ২০২৪

androidx.savedstate:savedstate-*:1.3.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha05-এ এই কমিটগুলি রয়েছে।

KotlinX সিরিয়ালাইজেশন সাপোর্ট

  • SavedState এখন KotlinX Serialization সাপোর্ট রয়েছে। আপনি encodeToSavedState এবং decodeFromSavedState পদ্ধতি ব্যবহার করে @Serializable দিয়ে টীকাযুক্ত একটি ক্লাসকে SavedState এ রূপান্তর করতে পারেন। ফিরে আসা SavedState হল Android-এ একটি নিয়মিত Bundle এবং এটি Bundle গ্রহণকারী যেকোনো API দ্বারা ব্যবহার করা যেতে পারে। ( 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)
    }
    
  • আমরা SavedStateRegistryOwner (যেমন, ComponentActivity , Fragment , ইত্যাদি) তে @Serializable ক্লাসগুলি সংরক্ষণ করা সহজ করার জন্য saved , একটি lazy property delegateও অন্তর্ভুক্ত করেছি এবং প্রক্রিয়া মৃত্যু এবং পুনর্নির্মাণের সময় সেই ক্লাসগুলি স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করা হবে। অনুগ্রহ করে মনে রাখবেন যে saved ডেলিগেটটি অলস এবং এটি অ্যাক্সেস না করা পর্যন্ত init lambda কল করবে না বা SavedStateRegistry তে কিছু সংরক্ষণ করবে না। ( 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")
        }
    }
    
  • Lifecycle 2.9.0-alpha07SavedStateHandle এর জন্য একই রকম একটি saved সম্পত্তি প্রতিনিধি যোগ করা হয়েছে।

API পরিবর্তনগুলি

  • SavedState তে toMap যোগ করুন, যাতে যেকোনো SavedState একটি নিয়মিত Map রূপান্তর করা যায় (অগভীর অনুলিপি)। ( I487b9 , b/334076622 )
  • SavedState KMP এখন অ্যারে সমর্থন করে। ( Ic0552 , b/334076622 )

সংস্করণ 1.3.0-alpha04

৩০ অক্টোবর, ২০২৪

androidx.savedstate:savedstate-*:1.3.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha04-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • SavedState KMP এখন Char সমর্থন করে। ( I9ac2f , b/334076622 )
  • SavedState KMP-তে putNull এবং isNull যোগ করুন। ( Iea71d , b/334076622 )
  • একটি প্রাথমিক Map<String, Any> ( I9b37d , b/334076622 ) সমর্থনকারী অতিরিক্ত savedState ফ্যাক্টরি প্যারামিটার যোগ করুন।
  • SavedState KMP এখন contentDeepEquals তুলনা সমর্থন করে। ( Ia515c , b/334076622 )
  • SavedState KMP এখন Long সমর্থন করে। ( I4c180 , b/334076622 )

সংস্করণ 1.3.0-alpha03

১৬ অক্টোবর, ২০২৪

androidx.savedstate:savedstate-*:1.3.0-alpha03 কোনও উল্লেখযোগ্য পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03-এ এই কমিটগুলি রয়েছে।

সংস্করণ 1.3.0-alpha02

২ অক্টোবর, ২০২৪

androidx.savedstate:savedstate-*:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02-এ এই কমিটগুলি রয়েছে।

কোটলিন মাল্টিপ্ল্যাটফর্ম

  • SavedState মডিউলটি এখন KMP-এর সাথে সামঞ্জস্যপূর্ণ। সমর্থিত প্ল্যাটফর্মগুলিতে এখন Android, iOS, Linux, Mac এবং JVM ডেস্কটপ পরিবেশ অন্তর্ভুক্ত রয়েছে। ( I26305 , b/334076622 )

নতুন বৈশিষ্ট্য

  • KMP-তে অ্যাপ্লিকেশন স্টেট সংরক্ষণ এবং পুনরুদ্ধার করার জন্য একটি সুসংগত উপায় প্রদানের জন্য SavedState opaque টাইপকে একটি বিমূর্তকরণ হিসাবে প্রবর্তন করুন। এতে সংরক্ষণ করা অবস্থা পরিবর্তন করার জন্য একটি SavedStateReader এবং SavedStateWriter অন্তর্ভুক্ত রয়েছে। Android-এ, SavedState হল Bundle এর একটি টাইপ উপনাম, যা বাইনারি সামঞ্জস্যতা নিশ্চিত করে এবং বিদ্যমান API গুলিকে একটি সাধারণ উৎস সেটে স্থানান্তরিত করতে সহায়তা করে। অন্যান্য প্ল্যাটফর্মগুলিতে, SavedState হল একটি Map<String, Any> উদাহরণ। ( 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 পরিবর্তনগুলি

  • SavedStateRegistry এবং SavedStateRegistryController এখন KMP-এর সাথে সামঞ্জস্যপূর্ণ। ( Id7bb8 , b/334076622 )
  • SavedState , SavedStateWriter এবং SavedStateReader এখন KMP-এর সাথে সামঞ্জস্যপূর্ণ। ( I26305 , b/334076622 )

সংস্করণ 1.3.0-alpha01

৭ আগস্ট, ২০২৪

androidx.savedstate:savedstate:1.3.0-alpha01 এবং androidx.savedstate:savedstate-ktx:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • savedstate-ktx kotlin এক্সটেনশনগুলি এখন বেস savedstate মডিউলে স্থানান্তরিত করা হয়েছে। ( I1cc18 , b/274803094 )

দ্রষ্টব্য

  • compileSdk 35 ( 5dc41be ) তে আপডেট করুন

সংস্করণ 1.2.1

সংস্করণ 1.2.1

২২ মার্চ, ২০২৩

androidx.savedstate:savedstate:1.2.1 এবং androidx.savedstate:savedstate-ktx:1.2.1 প্রকাশিত হয়েছে। সংস্করণ 1.2.1-এ এই কমিটগুলি রয়েছে।

নির্ভরতা আপডেট

সংস্করণ 1.2.0

সংস্করণ 1.2.0

২৯ জুন, ২০২২

androidx.savedstate:savedstate:1.2.0 এবং androidx.savedstate:savedstate-ktx:1.2.0 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-এ এই কমিটগুলি রয়েছে।

১.১.০ থেকে গুরুত্বপূর্ণ পরিবর্তনগুলি

  • SavedStateRegistryController এখন performAttach() এর মাধ্যমে SavedStateRegistry এর প্রাথমিক সংযুক্তি অনুমোদন করে।
  • আপনি এখন getSavedStateProvider() এর মাধ্যমে একটি SavedStateRegistry থেকে পূর্বে নিবন্ধিত একটি SavedStateProvider পুনরুদ্ধার করতে পারেন।
  • SavedState লাইব্রেরিটি কোটলিনে পুনর্লিখন করা হয়েছে।
    • SavedStateRegistryOwner এর জন্য, এটি Kotlin-এ লেখা ক্লাসগুলির জন্য একটি source অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখন পূর্ববর্তী getSavedStateRegistry() ফাংশনটি বাস্তবায়নের পরিবর্তে savedStateRegistry সম্পত্তিটি ওভাররাইড করতে হবে।
    • ViewTreeSavedStateRegistryOwner এর ক্ষেত্রে, এটি Kotlin-এ লেখা ক্লাসগুলির জন্য একটি অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখন androidx.savedstate.setViewTreeSavedStateRegistryOwner এবং androidx.savedstate.findViewTreeSavedStateRegistryOwner এর View এ Kotlin এক্সটেনশন পদ্ধতিগুলি সরাসরি আমদানি করতে হবে এবং ব্যবহার করতে হবে যাতে পূর্বে সেট করা মালিক সেট করা এবং খুঁজে পাওয়া যায়। এটি findViewTreeSavedStateRegistryOwner এর savedstate-ktx API প্রতিস্থাপন করে।

আচরণগত পরিবর্তন

  • সংরক্ষণ করার জন্য কোন অবস্থা না থাকলে SavedStateRegistry আর খালি বান্ডেল সংরক্ষণ করে না।

সংস্করণ 1.2.0-rc01

১১ মে, ২০২২

androidx.savedstate:savedstate:1.2.0-rc01 এবং androidx.savedstate:savedstate-ktx:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিটগুলি রয়েছে।

ডকুমেন্টেশন পরিবর্তন

  • SavedStateRegistryOwner Kdocs আপডেট করা হয়েছে যাতে মালিকের ইন্টারফেসটি কীভাবে বাস্তবায়ন করা উচিত বা কখন SavedStateRegistryController এ পদ্ধতিগুলি কল করা উচিত সে সম্পর্কে তাদের দায়িত্ব এবং চুক্তি স্পষ্ট করা যায়। ( Iefc95 , b/228887344 )

সংস্করণ 1.2.0-beta01

২০ এপ্রিল, ২০২২

androidx.savedstate:savedstate:1.2.0-beta01 এবং androidx.savedstate:savedstate-ktx:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলি রয়েছে।

API পরিবর্তনগুলি

  • SavedStateRegistry এবং ViewTreeSavedStateRegistryOwner ক্লাসগুলি Kotlin-এ পুনর্লিখন করা হয়েছে। ViewTreeSavedStateRegistryOwner জন্য, এটি Kotlin-এ লেখা ক্লাসগুলির জন্য একটি সোর্স-অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখন সরাসরি androidx.savedstate.setViewTreeSavedStateRegistryOwner এবং androidx.savedstate.findViewTreeSavedStateRegistryOwner এর View এ Kotlin এক্সটেনশন পদ্ধতিগুলি আমদানি করতে হবে এবং ব্যবহার করতে হবে যাতে পূর্বে সেট করা মালিক সেট করা এবং খুঁজে পাওয়া যায়। এটি findViewTreeSavedStateRegistryOwner এর savedstate-ktx API-কে প্রতিস্থাপন করে। এটি বাইনারি সামঞ্জস্যপূর্ণ এবং জাভা প্রোগ্রামিং ভাষায় লেখা বাস্তবায়নের জন্য সোর্স-সঙ্গতিপূর্ণ থাকে। ( b/220191285 )

সংস্করণ 1.2.0-alpha02

৬ এপ্রিল, ২০২২

androidx.savedstate:savedstate:1.2.0-alpha02 এবং androidx.savedstate:savedstate-ktx:1.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • আপনি এখন getSavedStateProvider() এর মাধ্যমে একটি SavedStateRegistry থেকে পূর্বে নিবন্ধিত SavedStateProvider পুনরুদ্ধার করতে পারেন। ( I7ea47 , b/215406268 )

API পরিবর্তনগুলি

  • SavedStateRegistryOwner , SavedStateRegistryController এবং Recreator ক্লাসগুলি Kotlin-এ পুনর্লিখন করা হয়েছে। SavedStateRegistryOwner ক্ষেত্রে, এটি Kotlin-এ লেখা ক্লাসগুলির জন্য একটি source-অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখন পূর্ববর্তী getSavedStateRegistry() ফাংশনটি বাস্তবায়নের পরিবর্তে savedStateRegistry সম্পত্তিটি ওভাররাইড করতে হবে। এটি বাইনারি সামঞ্জস্যপূর্ণ এবং জাভা প্রোগ্রামিং ভাষায় লেখা বাস্তবায়নের জন্য source-সামঞ্জস্যপূর্ণ। ( b/220191285 )

সংস্করণ 1.2.0-alpha01

২৬ জানুয়ারী, ২০২২

androidx.savedstate:savedstate:1.2.0-alpha01 এবং androidx.savedstate:savedstate-ktx:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • SavedStateRegistryController এখন performAttach() এর মাধ্যমে SavedStateRegistry এর প্রাথমিক সংযুক্তি অনুমোদন করে। ( Ice4bf )

আচরণগত পরিবর্তন

  • সংরক্ষণ করার জন্য কোনও অবস্থা না থাকলে SavedStateRegistry আর খালি বান্ডেল সংরক্ষণ করে না। ( aosp/1896865 , b/203457956 )

সংস্করণ 1.1.0

সংস্করণ 1.1.0

১০ ফেব্রুয়ারী, ২০২১

androidx.savedstate:savedstate:1.1.0 এবং androidx.savedstate:savedstate-ktx:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলি রয়েছে।

১.০.০ থেকে প্রধান পরিবর্তনগুলি

  • ViewTreeSavedStateRegistryOwner API : একটি নতুন ViewTreeSavedStateRegistryOwner.get(View) API আপনাকে একটি View ইনস্ট্যান্স দেওয়া SavedStateRegistry ধারণকারী ফাইল পুনরুদ্ধার করতে সাহায্য করে। এটি সঠিকভাবে পূরণ করার জন্য আপনাকে Activity 1.2.0 , Fragment 1.3.0 , এবং AppCompat 1.3.0-alpha01 বা উচ্চতর সংস্করণে আপগ্রেড করতে হবে।
  • savedstate-ktx আর্টিফ্যাক্ট : ViewTreeSavedStateRegistryOwner এর সাথে কাজ করার জন্য নতুন savedstate-ktx আর্টিফ্যাক্টটি findViewTreeSavedStateRegistryOwner() Kotlin এক্সটেনশনের সাথে যুক্ত করা হয়েছে।

সংস্করণ 1.1.0-rc01

১৬ ডিসেম্বর, ২০২০

androidx.savedstate:savedstate:1.1.0-rc01 এবং androidx.savedstate:savedstate-ktx:1.1.0-rc01 1.1.0-beta01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। 1.1.0-rc01 সংস্করণে এই কমিটগুলি রয়েছে।

সংস্করণ 1.1.0-beta01

১ অক্টোবর, ২০২০

androidx.savedstate:savedstate:1.1.0-beta01 এবং androidx.savedstate:savedstate-ktx:1.1.0-beta01 1.1.0-alpha01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। 1.1.0-beta01 সংস্করণে এই কমিটগুলি রয়েছে।

সংস্করণ 1.1.0-alpha01

২০ মে, ২০২০

androidx.savedstate:savedstate:1.1.0-alpha01 এবং androidx.savedstate:savedstate-ktx:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • একটি নতুন ViewTreeSavedStateRegistryOwner.get(View) API আপনাকে একটি View ইনস্ট্যান্স দেওয়া SavedStateRegistry ধারণকারী ফাইল পুনরুদ্ধার করতে সাহায্য করে। এটি সঠিকভাবে পূরণ করার জন্য আপনাকে Activity 1.2.0-alpha05 , Fragment 1.3.0-alpha05 , এবং AppCompat 1.3.0-alpha01 এ আপগ্রেড করতে হবে। ( aosp/1298679 )
  • ViewTreeSavedStateRegistryOwner এর সাথে কাজ করার জন্য নতুন savedstate-ktx আর্টিফ্যাক্টটি findViewTreeSavedStateRegistryOwner() Kotlin এক্সটেনশনের সাথে যুক্ত করা হয়েছে। ( aosp/1299434 )

সংস্করণ 1.0.0

সংস্করণ 1.0.0

৫ সেপ্টেম্বর, ২০১৯

androidx.savedstate:savedstate:1.0.0 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

SavedState 1.0.0 এর প্রধান বৈশিষ্ট্য

androidx.savedstate একটি স্থিতিশীল রিলিজে গ্র্যাজুয়েট হয়েছে। এটি এমন একটি API সেট যা ডেভেলপারদের restore / saveInstanceState প্রক্রিয়ায় উপাদান প্লাগইন করতে দেয়। API এর প্রধান প্রবেশ বিন্দু হল SavedStateRegistry , যা consumeRestoredStateForKey ব্যবহার করে পূর্বে সংরক্ষিত অবস্থা পুনরুদ্ধার করার এবং সিস্টেম অনুরোধ করলে একটি সংরক্ষিত অবস্থা প্রদানের জন্য registerSavedStateProvider এ একটি কলব্যাক নিবন্ধন করার একটি উপায় প্রদান করে।

সংস্করণ 1.0.0-rc01

২ জুলাই, ২০১৯

androidx.savedstate:savedstate:1.0.0-rc01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ সংশোধন

  • ভুল প্রোগার্ড নিয়ম ঠিক করা হয়েছে ( b/132655499 )

সংস্করণ 1.0.0-beta01

৭ মে, ২০১৯

androidx.savedstate:savedstate:1.0.0-beta01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

সংস্করণ 1.0.0-alpha02

১৩ মার্চ, ২০১৯

androidx.savedstate:savedstate:1.0.0-alpha02 প্রকাশিত হয়েছে। androidx.savedstate:savedstate androidx.savedstate:savedstate-bundle এবং androidx.savedstate:savedstate-common আর্টিফ্যাক্টগুলিকে একটি আর্টিফ্যাক্টে একত্রিত করে, কারণ savedstate পরিকাঠামো সহজ করার এবং SavedStateRegistry থেকে জেনেরিকগুলি অপসারণ করার সিদ্ধান্ত নেওয়া হয়েছিল। সুতরাং, পৃথক মডিউলের প্রয়োজন নেই।

এই সংস্করণে অন্তর্ভুক্ত কমিটগুলির সম্পূর্ণ তালিকা এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট্য

  • SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ) যোগ করা হয়েছে। প্রদত্ত ক্লাসটি তাৎক্ষণিকভাবে চালু করা হবে এবং মালিকানা উপাদানটি পুনরায় চালু হলে AutoRecreated.onRecreated পদ্ধতিটি চালানো হবে।

API পরিবর্তনগুলি

  • SavedStateRegistry<T> থেকে জেনেরিকগুলি সরানো হয়েছে
  • AbstractSavedStateRegistry এবং BundlableSavedStateRegistry মুছে ফেলা হয়েছে, পরিবর্তে সহজ SavedStateRegistry ব্যবহার করুন।
  • BundleSavedStateRegistryOwner নাম পরিবর্তন করে SavedStateRegistryOwner করা হয়েছে।

সংস্করণ 1.0.0-alpha01

১৭ ডিসেম্বর, ২০১৮

এটি SavedState এর প্রথম প্রকাশ।

নতুন বৈশিষ্ট্য

androidx.savedstate হল আলফা API-এর একটি নতুন সেট যা ডেভেলপারদের restore / saveInstanceState প্রক্রিয়ায় উপাদান প্লাগইন করার অনুমতি দেয়। API-এর প্রধান প্রবেশ বিন্দু হল SavedStateRegistry<T> , যা consumeRestoredStateForKey মাধ্যমে পূর্বে savedstate পুনরুদ্ধার করার এবং সিস্টেম অনুরোধ করলে savedstate প্রদানের জন্য registerSavedStateProvider এ একটি কলব্যাক নিবন্ধন করার একটি উপায় প্রদান করে।