সেভডস্টেট
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২৫ মার্চ, ২০২৬ | ১.৪.০ | - | - | ১.৫.০-আলফা০২ |
নির্ভরতা ঘোষণা করা
SavedState-এর উপর নির্ভরতা যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে গুগল মেভেন রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য গুগলের মেভেন রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:
গ্রোভি
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.4.0" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.4.0" }
কোটলিন
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.4.0") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.4.0") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ ১.৫
সংস্করণ 1.5.0-alpha02
২৫ মার্চ, ২০২৬
androidx.savedstate:savedstate-*:1.5.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha02-এ এই কমিটগুলো রয়েছে।
সংস্করণ 1.5.0-alpha01
১১ মার্চ, ২০২৬
androidx.savedstate:savedstate-*:1.5.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha01-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
-
SavedStateঅবজেক্টগুলির জন্য জেনেরিক সিরিয়ালাইজেশন সক্ষম করুন, যার ফলে সেগুলিকে সমস্ত প্ল্যাটফর্মে CBOR বা JSON-এর মতো স্ট্যান্ডার্ড ফরম্যাট ব্যবহার করে এনকোড এবং ডিকোড করা যাবে। ( Iafda4 , b/425919375 )
এপিআই পরিবর্তন
-
SavedStateWriterএবংSavedStateReaderএputKotlinSerializableএবংgetKotlinSerializableএক্সটেনশন ফাংশন যোগ করুন, যা কী (key) ব্যবহার করে সরাসরি Kotlin Serializable অবজেক্ট সংরক্ষণ ও পুনরুদ্ধার করার সুযোগ দেবে এবংSavedStateAPI-এর সাথে ইন্টিগ্রেশনকে আরও সহজ করবে। ( Iba02e ) - কাস্টম ওনার কম্পোনেন্ট তৈরি করার সময় বয়লারপ্লেট কমাতে
LifecycleOwner,ViewModelStoreOwner, এবংSavedStateRegistryOwnerএর জন্য ফ্যাক্টরি ফাংশন যোগ করুন। ( I9682c ) -
rememberSerializableমাধ্যমেSnapshotStateSet(যাmutableStateSetOf()এর মাধ্যমে তৈরি করা হয়) সংরক্ষণ এবং পুনরুদ্ধার করা সক্ষম করুন। এখন আপনি কোনো কাস্টম সেভার ছাড়াইrememberSerializableএSnapshotStateSetব্যবহার করতে পারবেন। ( I9a4ed , b/449498367 )
সংস্করণ ১.৪
সংস্করণ ১.৪.০
০৫ নভেম্বর, ২০২৫
androidx.savedstate:savedstate-*:1.4.0 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
সংস্করণ 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
encodeToSavedStateএবংdecodeFromSavedStateএ নাল টাইপের জন্য সমর্থন যোগ করা হয়েছে। ( I79062 , b/439527454 ) - Compose 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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
SavedStateRegistryOwner.savedএ নালযোগ্য টাইপের জন্য নেটিভ সাপোর্ট যোগ করা হয়েছে, যা নালযোগ্য প্রোপার্টি সংরক্ষণ এবং পুনরুদ্ধার করাকে সহজ করে। ( Ia632 , b/421325690 )
সংস্করণ ১.৩
সংস্করণ ১.৩.৩
১৭ সেপ্টেম্বর, ২০২৫
androidx.savedstate:savedstate-*:1.3.3 প্রকাশিত হয়েছে। সংস্করণ 1.3.3-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- কম্পোজ কম্পাইলার প্লাগইন প্রয়োগ না হওয়ার একটি ত্রুটি সংশোধন করা হয়েছে, যার কারণে
SavedStateকেএমপি আর্টিফ্যাক্টগুলো নষ্ট হয়ে যাচ্ছিল। ( Id2290 , b/443965665 )
সংস্করণ ১.৩.২
২৭ আগস্ট, ২০২৫
androidx.savedstate:savedstate-*:1.3.2 প্রকাশিত হয়েছে। সংস্করণ 1.3.2-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- SavedState
*-composeআর্টিফ্যাক্টে নতুন Kotlin Multiplatform (KMP) টার্গেট যোগ করা হয়েছে। লাইফসাইকেল এখন মোট নিম্নলিখিত প্ল্যাটফর্মগুলিকে সমর্থন করে: JVM (অ্যান্ড্রয়েড এবং ডেস্কটপ), নেটিভ (লিনাক্স, iOS, watchOS, macOS, MinGW), এবং ওয়েব (জাভাস্ক্রিপ্ট, WasmJS)। ( /Idcf26 )
সংস্করণ ১.৩.১
১৬ জুলাই, ২০২৫
androidx.savedstate:savedstate-*:1.3.1 প্রকাশিত হয়েছে। সংস্করণ 1.3.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- অ্যানোটেশন দ্বারা সমর্থিত সমস্ত KMP টার্গেট
SavedStateআর্টিফ্যাক্টে যোগ করুন। -
SavedStateআর্টিফ্যাক্টে নতুন Kotlin Multiplatform (KMP) টার্গেট যোগ করা হয়েছে।SavedStateএখন মোট নিম্নলিখিত প্ল্যাটফর্মগুলো সমর্থন করে: JVM (Android এবং Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), এবং Web (JavaScript, WasmJS)। উল্লেখ্য যে,*-composeআর্টিফ্যাক্টে কোনো নতুন KMP টার্গেট যোগ করা হয়নি, কারণ এটি Compose 1.9-এর স্থিতিশীল রিলিজের উপর নির্ভরশীল। ( I062f4 )।
সংস্করণ ১.৩.০
৭ মে, ২০২৫
androidx.savedstate:savedstate-*:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.২.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ
-
LocalSavedStateRegistryOwnerCompose UI থেকে নতুনsavedstate-composeমডিউলে স্থানান্তর করা হয়েছে, যাতে এর Compose-ভিত্তিক হেল্পার API-গুলো Compose UI-এর বাইরেও ব্যবহার করা যায়। Compose UI1.9.0-alpha02এবং এর উচ্চতর সংস্করণ ব্যবহার করার সময় এটি সর্বদা ব্যবহার করা উচিত, তবে এটি ব্যাকওয়ার্ড কম্প্যাটিবল হওয়ায় Compose-এর সকল সংস্করণের সাথেই ব্যবহার করা যাবে। -
savedstate-ktxকোটলিন এক্সটেনশনগুলো এখন মূল savedstate মডিউলে স্থানান্তর করা হয়েছে। -
findViewTreeSavedStateRegistryOwnerএর মাধ্যমে প্রাপ্তSavedStateRegistryOwnerইনস্ট্যান্সগুলো এখন একটি ভিউ-এর ডিসজয়েন্ট প্যারেন্ট, যেমন একটিViewOverlayমাধ্যমেও রিজলভ করা যাবে। ডিসজয়েন্ট ভিউ প্যারেন্ট সম্পর্কে আরও তথ্যের জন্য core-এর রিলিজ নোট অথবাViewTree.setViewTreeDisjointParentএর ডকুমেন্টেশন দেখুন।
কোটলিন মাল্টিপ্ল্যাটফর্ম
-
SavedStateমডিউলটি এখন KMP-এর সাথে সামঞ্জস্যপূর্ণ। সমর্থিত প্ল্যাটফর্মগুলোর মধ্যে এখন রয়েছে Android, iOS, Linux, Mac এবং JVM ডেস্কটপ এনভায়রনমেন্ট। KMP-তে অ্যাপ্লিকেশন স্টেট সংরক্ষণ ও পুনরুদ্ধার করার একটি সামঞ্জস্যপূর্ণ উপায় প্রদানের জন্য একটি অ্যাবস্ট্রাকশন হিসেবে
SavedStateওপেগ টাইপ চালু করা হয়েছে। এতে সংরক্ষিতব্য স্টেট পরিবর্তন করার জন্য একটিSavedStateReaderএবংSavedStateWriterঅন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েডে,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") }
কোটলিনএক্স সিরিয়ালাইজেশন সাপোর্ট
SavedStateএখন KotlinX Serialization সাপোর্ট অন্তর্ভুক্ত করা হয়েছে। আপনিencodeToSavedStateএবংdecodeFromSavedStateমেথডগুলো ব্যবহার করে@Serializableঅ্যানোটেশনযুক্ত একটি ক্লাসকেSavedStateএ রূপান্তর করতে পারেন। ফেরত আসাSavedStateAndroid-এ একটি সাধারণ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প্যাকেজে পাওয়া যাবে।আমরা
savedএকটি লেজি প্রপার্টি ডেলিগেটও অন্তর্ভুক্ত করেছি, যাতে@Serializableক্লাসগুলোকে একটিSavedStateRegistryOwnerএ (যেমন,ComponentActivity,Fragment, ইত্যাদি) সহজে সংরক্ষণ করা যায় এবং প্রসেস বন্ধ ও পুনরায় চালু হওয়ার পরেও ক্লাসগুলো স্বয়ংক্রিয়ভাবে পুনরুদ্ধার হয়। অনুগ্রহ করে মনে রাখবেন যে,savedডেলিগেটটি লেজি এবং এটি অ্যাক্সেস না করা পর্যন্তinitল্যাম্বডাকে কল করবে না বা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") } }লাইফসাইকেল
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-এ এই কমিটগুলো রয়েছে।
নির্ভরতা আপডেট
- এই লাইব্রেরিটি এখন কোটলিন ২.০ ল্যাঙ্গুয়েজ লেভেলকে টার্গেট করে এবং এর জন্য কেজিপি ২.০.০ বা তার নতুন সংস্করণ প্রয়োজন। ( 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এgetcollections-এর জন্য non-reified method variants যোগ করুন। ( I0b641 , b/399820614 ) -
SavedStateConfigurationএencodeDefaultsযোগ করা হয়েছে, যার ফলে ডিফল্ট মান সহ প্রোপার্টিগুলো এনকোড করা হবে কিনা তা কাস্টমাইজ করা যাবে। ( I893cc , b/395104517 ) -
mutableStateMapOfসমর্থন করার জন্যSnapshotStateMapSerializerযোগ করা হয়েছে। ( Ie6f19 , b/378895074 ) -
mutableStateListOfসমর্থন করার জন্যSnapshotStateListSerializerযোগ করা হয়েছে। ( I4d888 , b/378895074 ) -
SavedStateReader.getভ্যারিয়েন্টগুলোর জন্যgetOrNullবিকল্প মেথড যোগ করুন। এই মেথডগুলো প্রিমিটিভ ভ্যালুগুলোকে স্বয়ংক্রিয়ভাবে বক্স করবে। ( I6228c , b/399820614 )
এপিআই পরিবর্তন
-
SavedStateReaderথেকেgetOrElseসরিয়েgetOrNull() ?: else()ব্যবহার করুন। ( I87317 , b/399820614 ) -
SavedStateReaderএবংSavedStateWriterমেথডগুলো থেকেinlineমডিফায়ার অপসারণ করুন। ( If2a02 , b/399820614 ) - পাবলিক এপিআই থেকে অ্যান্ড্রয়েড-এর বিল্ট-ইন লিস্ট এবং অ্যারে সিরিয়ালাইজারগুলো সরিয়ে ফেলুন ( Ida293 )
-
SparseParcelableArraySerializerSparseArraySerializerদিয়ে প্রতিস্থাপন করুন ( I91de8 ) - ভ্যালু টাইপ রিটার্ন টাইপের সাথে না মিললে থ্রো করে সমস্ত
SavedStateReader.getসামঞ্জস্যপূর্ণ আচরণ করান ( I78c4a , b/399317598 ) -
SavedState*DelegatesSavedState*Delegateএ পুনঃনামকরণ করুন। ( I8589b , b/399629301 ) -
SavedStateConfigSavedStateConfigurationএ পুনঃনামকরণ করুন। ( 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 )
এপিআই পরিবর্তন
-
saved()ডেলিগেটগুলিতেSavedStateConfigপ্যারামিটার যোগ করুন ( I39b3a ) - বিল্ট-ইন সিরিয়ালাইজারগুলোকে সিঙ্গেলটন অবজেক্টে পরিণত করে ( Ifeee4 )
-
SavedStateConfigপ্রোপার্টিগুলো এখন পাবলিক, ফলে অন্যান্য মডিউলগুলো এই কনফিগারেশনগুলো ব্যবহার করতে পারবে। ( Ie5f49 , b/378897438 ) -
MutableStateFlowSerializerএবংMutableStateSerializerজন্য@Serializer(with = ...)সমর্থন ( I90953 ) -
SavedStateReaderএcontentDeepToStringযোগ করুন ( I14d10 )
সংস্করণ 1.3.0-alpha08
১২ ফেব্রুয়ারী, ২০২৫
androidx.savedstate:savedstate-*:1.3.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha08-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
-
MutableStateSerializerlifecycle-viewmodel-composeথেকেsavedstate-composeএ স্থানান্তর করা হয়েছে, যার ফলে আপনি Compose-এরMutableStateএর সাথে SavedState Serialization API ব্যবহার করতে পারবেন। ( I4f690 , b/378895074 )
এপিআই পরিবর্তন
- বিদ্যমান
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 )
এপিআই পরিবর্তন
- ডিফল্ট প্যারামিটার সহ ওভারলোডেড
SavedStateRegistryOwner.saved()ডেলিগেট ফাংশনগুলি প্রতিস্থাপন করুন ( Icd1c1 ) -
JavaSerializableSerializerএবংParcelableSerializerঅ্যাবস্ট্রাক্ট করুন ( I268f6 ) -
CharSequenceSerializerথেকে জেনেরিকT : CharSequenceঅপসারণ করুন ( Ib40bd )
সংস্করণ 1.3.0-alpha06
১১ ডিসেম্বর, ২০২৪
androidx.savedstate:savedstate-*:1.3.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha06-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
-
SavedStateKMP এখন সমর্থন করে:IBinder,Size,SizeF,Array<Parcelable>,SparseArray<Parcelable>এবং Serializable (Android)। ( I1ba94 , b/334076622 ) - আপনার ক্লাসের প্রাসঙ্গিক ফিল্ডটিকে
@Serializable(with = ParcelableSerializer::class)দিয়ে চিহ্নিত করেKSerializerইনস্ট্যান্স যোগ করুন, যা Bundle দ্বারা সমর্থিত জাভা এবং অ্যান্ড্রয়েড টাইপ এনকোড/ডিকোড করতে ব্যবহার করা যেতে পারে। ( I8c10f , I28caf , b/376026712 ) -
findViewTreeSavedStateRegistryOwnerএর মাধ্যমে প্রাপ্তSavedStateRegistryOwnerইনস্ট্যান্সগুলো এখন একটি ভিউ-এর ডিসজয়েন্ট প্যারেন্ট, যেমন একটিViewOverlayমাধ্যমে রিজলভ করা যাবে। ডিসজয়েন্ট ভিউ প্যারেন্ট সম্পর্কে আরও তথ্যের জন্য core-এর রিলিজ নোট অথবাViewTree.setViewTreeDisjointParentএর ডকুমেন্টেশন দেখুন। ( Iccb33 )
এপিআই পরিবর্তন
-
SavedStateRegistryOwnerDelegate( I8c135 , b/376026744 ) এর সাথে নামকরণ এবং প্যাকেজ সংগঠনকে আরও সামঞ্জস্যপূর্ণ করুন।
সংস্করণ 1.3.0-alpha05
১৩ নভেম্বর, ২০২৪
androidx.savedstate:savedstate-*:1.3.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha05-এ এই কমিটগুলো রয়েছে।
কোটলিনএক্স সিরিয়ালাইজেশন সাপোর্ট
SavedStateএখন KotlinX Serialization সাপোর্ট অন্তর্ভুক্ত করা হয়েছে। আপনিencodeToSavedStateএবংdecodeFromSavedStateমেথডগুলো ব্যবহার করে@Serializableঅ্যানোটেশনযুক্ত একটি ক্লাসকেSavedStateএ রূপান্তর করতে পারেন। ফেরত আসাSavedStateAndroid-এ একটি সাধারণ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) }আমরা
savedএকটি লেজি প্রপার্টি ডেলিগেটও অন্তর্ভুক্ত করেছি, যাতে@Serializableক্লাসগুলোকে একটিSavedStateRegistryOwnerএ (যেমন,ComponentActivity,Fragment, ইত্যাদি) সহজে সংরক্ষণ করা যায় এবং প্রসেস বন্ধ ও পুনরায় চালু হওয়ার পরেও ক্লাসগুলো স্বয়ংক্রিয়ভাবে পুনরুদ্ধার হয়। অনুগ্রহ করে মনে রাখবেন যেsavedডেলিগেটটি লেজি এবং এটি অ্যাক্সেস না করা পর্যন্তinitল্যাম্বডা কল করবে না বা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প্রপার্টি ডেলিগেট যোগ করা হয়েছে।
এপিআই পরিবর্তন
-
SavedStateএtoMapযোগ করা হয়েছে, যার ফলে যেকোনোSavedStateএকটি সাধারণMap(শেলো কপি)-তে রূপান্তর করা যাবে। ( I487b9 , b/334076622 ) -
SavedStateKMP এখন অ্যারে সমর্থন করে। ( Ic0552 , b/334076622 )
সংস্করণ 1.3.0-alpha04
৩০ অক্টোবর, ২০২৪
androidx.savedstate:savedstate-*:1.3.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha04-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- SavedState KMP এখন Char সমর্থন করে। ( I9ac2f , b/334076622 )
- SavedState KMP-তে
putNullএবংisNullযোগ করুন। ( Iea71d , b/334076622 ) - একটি প্রাথমিক
Map<String, Any>সমর্থনকারী অতিরিক্তsavedStateফ্যাক্টরি প্যারামিটার যোগ করুন ( I9b37d , b/334076622 ) - 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অপেক টাইপ চালু করা হয়েছে। এতে সংরক্ষিতব্য স্টেট পরিবর্তন করার জন্য একটিSavedStateReaderএবংSavedStateWriterঅন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েডে,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")
}
এপিআই পরিবর্তন
-
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-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
savedstate-ktxকোটলিন এক্সটেনশনগুলো এখন মূল savedstate মডিউলে স্থানান্তরিত করা হয়েছে। ( I1cc18 , b/274803094 )
দ্রষ্টব্য
-
compileSdk35 ( 5dc41be ) এ আপডেট করুন
সংস্করণ ১.২.১
সংস্করণ ১.২.১
২২ মার্চ, ২০২৩
androidx.savedstate:savedstate:1.2.1 এবং androidx.savedstate:savedstate-ktx:1.2.1 রিলিজ করা হয়েছে। ভার্সন ১.২.১-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নির্ভরতা আপডেট
-
SavedStateএখন Lifecycle2.6.1এর উপর নির্ভরশীল। ( c1f621 )
সংস্করণ ১.২.০
সংস্করণ ১.২.০
২৯ জুন, ২০২২
androidx.savedstate:savedstate:1.2.0 এবং androidx.savedstate:savedstate-ktx:1.2.0 প্রকাশ করা হয়েছে। সংস্করণ 1.2.0-তে এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.১.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ
-
SavedStateRegistryControllerএখনperformAttach()এর মাধ্যমেSavedStateRegistryএর আগাম সংযুক্তি (early attachment) করার সুযোগ দেয়। - এখন আপনি
getSavedStateProvider()এর মাধ্যমে একটিSavedStateRegistryথেকে পূর্বে নিবন্ধিত একটিSavedStateProviderপুনরুদ্ধার করতে পারবেন। -
SavedStateলাইব্রেরিটি কোটলিনে নতুন করে লেখা হয়েছে।-
SavedStateRegistryOwnerক্ষেত্রে, Kotlin-এ লেখা ক্লাসগুলোর জন্য এটি একটি সোর্স-অসামঞ্জস্যপূর্ণ পরিবর্তন — এখন আপনাকে আগেরgetSavedStateRegistry()ফাংশনটি ইমপ্লিমেন্ট করার পরিবর্তেsavedStateRegistryপ্রপার্টিটি ওভাররাইড করতে হবে। -
ViewTreeSavedStateRegistryOwnerক্ষেত্রে, Kotlin-এ লেখা ক্লাসগুলোর জন্য এটি একটি সোর্সandroidx.savedstate.setViewTreeSavedStateRegistryOwnerঅসামঞ্জস্যপূর্ণ পরিবর্তন — পূর্বে সেট করা ওনারকে সেট ও ফাইন্ড করার জন্য আপনাকে এখন সরাসরিViewএবংandroidx.savedstate.findViewTreeSavedStateRegistryOwnerএর Kotlin এক্সটেনশন মেথডগুলো ইম্পোর্ট ও ব্যবহার করতে হবে। এটিfindViewTreeSavedStateRegistryOwnerএরsavedstate-ktxAPI-কে প্রতিস্থাপন করে।
-
আচরণগত পরিবর্তন
- সংরক্ষণ করার মতো কোনো স্টেট না থাকলে
SavedStateRegistryএখন আর একটি খালি বান্ডেল সংরক্ষণ করে না।
সংস্করণ 1.2.0-rc01
১১ মে, ২০২২
androidx.savedstate:savedstate:1.2.0-rc01 এবং androidx.savedstate:savedstate-ktx:1.2.0-rc01 রিলিজ করা হয়েছে। ভার্সন 1.2.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
ডকুমেন্টেশন পরিবর্তন
-
SavedStateRegistryOwnerKdocs আপডেট করা হয়েছে, যাতে মালিকের দায়িত্ব এবং চুক্তি স্পষ্ট করা যায় যে কীভাবে সে ইন্টারফেসটি ইমপ্লিমেন্ট করবে বা কখন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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
SavedStateRegistryএবংViewTreeSavedStateRegistryOwnerক্লাস দুটিকে কোটলিনে নতুন করে লেখা হয়েছে।ViewTreeSavedStateRegistryOwnerক্ষেত্রে, কোটলিনে লেখা ক্লাসগুলোর জন্য এটি একটি সোর্স-অসামঞ্জস্যপূর্ণ পরিবর্তন - পূর্বে সেট করা কোনো মালিককে সেট করতে এবং খুঁজে বের করতে, আপনাকে এখন সরাসরিandroidx.savedstate.setViewTreeSavedStateRegistryOwnerএবংandroidx.savedstate.findViewTreeSavedStateRegistryOwnerএর কোটলিন এক্সটেনশন মেথডগুলোViewএবং ব্যবহার করতে হবে। এটিfindViewTreeSavedStateRegistryOwnerএরsavedstate-ktxAPI-কে প্রতিস্থাপন করে। এটি বাইনারি সামঞ্জস্যপূর্ণ এবং জাভা প্রোগ্রামিং ভাষায় লেখা ইমপ্লিমেন্টেশনগুলোর জন্য সোর্স সামঞ্জস্যপূর্ণ থাকে। ( 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 )
এপিআই পরিবর্তন
-
SavedStateRegistryOwner,SavedStateRegistryController, এবংRecreatorক্লাসগুলো কোটলিনে নতুন করে লেখা হয়েছে।SavedStateRegistryOwnerক্ষেত্রে, কোটলিনে লেখা ক্লাসগুলোর জন্য এটি একটি সোর্স-অসামঞ্জস্যপূর্ণ পরিবর্তন — এখন আপনাকে আগেরgetSavedStateRegistry()ফাংশনটি ইমপ্লিমেন্ট করার পরিবর্তেsavedStateRegistryপ্রপার্টিটি ওভাররাইড করতে হবে। জাভা প্রোগ্রামিং ভাষায় লেখা ইমপ্লিমেন্টেশনগুলোর জন্য এটি বাইনারি এবং সোর্স উভয় ক্ষেত্রেই সামঞ্জস্যপূর্ণ। ( 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এর আগাম সংযুক্তি (early attachment) করার সুযোগ দেয়। ( Ice4bf )
আচরণগত পরিবর্তন
- সংরক্ষণ করার মতো কোনো স্টেট না থাকলে
SavedStateRegistryআর কোনো খালি বান্ডেল সংরক্ষণ করে না। ( aosp/1896865 , b/203457956 )
সংস্করণ ১.১.০
সংস্করণ ১.১.০
১০ ফেব্রুয়ারী, ২০২১
androidx.savedstate:savedstate:1.1.0 এবং androidx.savedstate:savedstate-ktx:1.1.0 প্রকাশ করা হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.০.০ সংস্করণ থেকে বড় পরিবর্তনসমূহ
-
ViewTreeSavedStateRegistryOwnerAPI : একটি নতুনViewTreeSavedStateRegistryOwner.get(View)API আপনাকে একটিViewইনস্ট্যান্সের সাপেক্ষে এর অন্তর্ভুক্তSavedStateRegistryপুনরুদ্ধার করার সুযোগ দেয়। এটি সঠিকভাবে পূরণ করার জন্য আপনাকে অবশ্যই Activity1.2.0, Fragment1.3.0, এবং AppCompat1.3.0-alpha01বা উচ্চতর সংস্করণে আপগ্রেড করতে হবে। -
savedstate-ktxআর্টিফ্যাক্ট :ViewTreeSavedStateRegistryOwnerনিয়ে কাজ করার জন্যfindViewTreeSavedStateRegistryOwner()নামক একটি কোটলিন এক্সটেনশনসহ নতুনsavedstate-ktxআর্টিফ্যাক্টটি যোগ করা হয়েছে।
সংস্করণ 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নিয়ে কাজ করার জন্যfindViewTreeSavedStateRegistryOwner()কোটলিন এক্সটেনশনসহ নতুনsavedstate-ktxআর্টিফ্যাক্টটি যোগ করা হয়েছে। ( aosp/1299434 )
সংস্করণ ১.০.০
সংস্করণ ১.০.০
৫ সেপ্টেম্বর, ২০১৯
androidx.savedstate:savedstate:1.0.0 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলো এখানে পাওয়া যাবে।
SavedState 1.0.0-এর প্রধান বৈশিষ্ট্যসমূহ
androidx.savedstate এখন একটি স্থিতিশীল সংস্করণে পরিণত হয়েছে। এটি এমন একগুচ্ছ এপিআই যা ডেভেলপারদের রিস্টোর / সেভইনস্ট্যান্সস্টেট প্রক্রিয়ায় কম্পোনেন্ট প্লাগইন করার সুযোগ দেয়। এই এপিআই-এর প্রধান এন্ট্রি পয়েন্ট হলো 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 প্রকাশিত হয়েছে। সেভডস্টেট পরিকাঠামোকে সরল করার এবং SavedStateRegistry থেকে জেনেরিকস অপসারণ করার সিদ্ধান্ত নেওয়ায়, androidx.savedstate:savedstate আর্টিফ্যাক্ট androidx.savedstate:savedstate-bundle এবং androidx.savedstate:savedstate-common কে একটি আর্টিফ্যাক্টে একত্রিত করা হয়েছে। ফলে, আলাদা মডিউলের কোনো প্রয়োজন নেই।
এই সংস্করণে অন্তর্ভুক্ত কমিটগুলোর সম্পূর্ণ তালিকা এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )যোগ করা হয়েছে। যখন মালিকানা কম্পোনেন্টটি পুনরায় চালু হবে, তখন প্রদত্ত ক্লাসটি ইনস্ট্যানশিয়েট করা হবে এবংAutoRecreated.onRecreatedমেথডটি রান হবে।
এপিআই পরিবর্তন
-
SavedStateRegistry<T>থেকে জেনেরিকগুলো সরানো হয়েছে - AbstractSavedStateRegistry ও BundlableSavedStateRegistry সরিয়ে ফেলা হয়েছে, এর পরিবর্তে সাধারণ
SavedStateRegistryব্যবহার করুন। -
BundleSavedStateRegistryOwnerনাম পরিবর্তন করেSavedStateRegistryOwnerরাখা হয়েছে।
সংস্করণ 1.0.0-alpha01
১৭ ডিসেম্বর, ২০১৮
এটি SavedState এর প্রথম রিলিজ।
নতুন বৈশিষ্ট্য
androidx.savedstate হলো একগুচ্ছ নতুন আলফা এপিআই, যা ডেভেলপারদের restore / saveInstanceState প্রক্রিয়ায় কম্পোনেন্ট প্লাগইন করার সুযোগ দেয়। এই এপিআই-এর প্রধান এন্ট্রি পয়েন্ট হলো SavedStateRegistry<T> , যা consumeRestoredStateForKey মাধ্যমে পূর্বে সেভ করা স্টেট পুনরুদ্ধার করার একটি উপায় প্রদান করে এবং সিস্টেমের অনুরোধে সেভ করা স্টেট সরবরাহ করার জন্য registerSavedStateProvider এ একটি কলব্যাক রেজিস্টার করে।