সেভডস্টেট
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
২২ অক্টোবর, ২০২৫ | ১.৩.৩ | ১.৪.০-আরসি০১ | - | - |
নির্ভরতা ঘোষণা করা
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 UI1.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.0
এSavedStateHandle
এর জন্য একই রকম একটি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 ) -
SavedStateConfiguration
এencodeDefaults
যোগ করুন, যা ডিফল্ট মান সহ বৈশিষ্ট্যগুলি এনকোড করা উচিত কিনা তা কাস্টমাইজ করার অনুমতি দেয়। ( 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 ) -
SavedStateConfig
এclassDiscriminator
এবং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.savedstate
এArray<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-alpha07
এSavedStateHandle
এর জন্য একই রকম একটি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-এ এই কমিটগুলি রয়েছে।
নির্ভরতা আপডেট
-
SavedState
এখন Lifecycle2.6.1
উপর নির্ভর করে। ( c1f621 )
সংস্করণ 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
ধারণকারী ফাইল পুনরুদ্ধার করতে সাহায্য করে। এটি সঠিকভাবে পূরণ করার জন্য আপনাকে Activity1.2.0
, Fragment1.3.0
, এবং AppCompat1.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
ধারণকারী ফাইল পুনরুদ্ধার করতে সাহায্য করে। এটি সঠিকভাবে পূরণ করার জন্য আপনাকে Activity1.2.0-alpha05
, Fragment1.3.0-alpha05
, এবং AppCompat1.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
এ একটি কলব্যাক নিবন্ধন করার একটি উপায় প্রদান করে।