সংরক্ষিত রাজ্য
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
13 নভেম্বর, 2024 | 1.2.1 | - | - | 1.3.0-আলফা05 |
নির্ভরতা ঘোষণা করা
SavedState-এ নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.2.1" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.2.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.2.1") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.2.1") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.3
সংস্করণ 1.3.0-alpha05
13 নভেম্বর, 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha05-এ এই কমিট রয়েছে।
KotlinX সিরিয়ালাইজেশন সমর্থন
SavedState
এখন KotlinX সিরিয়ালাইজেশন সমর্থন অন্তর্ভুক্ত করে। আপনিencodeToSavedState
এবংdecodeFromSavedState
পদ্ধতিগুলি ব্যবহার করে@Serializable
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
, একটি অলস সম্পত্তি প্রতিনিধিকে অন্তর্ভুক্ত করেছি এবং সেই ক্লাসগুলিকে স্বয়ংক্রিয়ভাবে প্রক্রিয়া মৃত্যু এবং বিনোদন জুড়ে পুনরুদ্ধার করা হয়েছে৷ অনুগ্রহ করে মনে রাখবেন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 ) -
SavedState
KMP এখন অ্যারে সমর্থন করে। ( IC0552 , b/334076622 )
সংস্করণ 1.3.0-alpha04
30 অক্টোবর, 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha04-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- SavedState KMP এখন চার সমর্থন করে। ( 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 এখন লং সমর্থন করে। ( I4c180 , b/334076622 )
সংস্করণ 1.3.0-alpha03
অক্টোবর 16, 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03
কোনো উল্লেখযোগ্য পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। সংস্করণ 1.3.0-alpha03-এ এই কমিট রয়েছে।
সংস্করণ 1.3.0-alpha02
2 অক্টোবর, 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02-এ এই কমিট রয়েছে।
কোটলিন মাল্টিপ্ল্যাটফর্ম
-
SavedState
মডিউল এখন KMP সামঞ্জস্যপূর্ণ। সমর্থিত প্ল্যাটফর্মগুলিতে এখন Android, iOS, Linux, Mac, এবং JVM ডেস্কটপ পরিবেশ অন্তর্ভুক্ত রয়েছে। ( I26305 , b/334076622 )
নতুন বৈশিষ্ট্য
- কেএমপিতে অ্যাপ্লিকেশন অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করার জন্য একটি সামঞ্জস্যপূর্ণ উপায় প্রদান করার জন্য একটি বিমূর্ততা হিসাবে
SavedState
অস্বচ্ছ প্রকারের পরিচয় দিন। এটিতে একটি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")
}
এপিআই পরিবর্তন
-
SavedStateRegistry
এবংSavedStateRegistryController
এখন KMP সামঞ্জস্যপূর্ণ। ( Id7bb8 , b/334076622 ) -
SavedState
,SavedStateWriter
এবংSavedStateReader
এখন KMP সামঞ্জস্যপূর্ণ। ( I26305 , b/334076622 )
সংস্করণ 1.3.0-alpha01
7 আগস্ট, 2024
androidx.savedstate:savedstate:1.3.0-alpha01
এবং androidx.savedstate:savedstate-ktx:1.3.0-alpha01
প্রকাশ করা হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
savedstate-ktx
কোটলিন এক্সটেনশনগুলি এখন বেস সেভ করা স্টেট মডিউলে সরানো হয়েছে। ( I1cc18 , b/274803094 )
দ্রষ্টব্য
-
compileSdk
35 ( 5dc41be ) এ আপডেট করুন
সংস্করণ 1.2.1
সংস্করণ 1.2.1
22 মার্চ, 2023
androidx.savedstate:savedstate:1.2.1
এবং androidx.savedstate:savedstate-ktx:1.2.1
প্রকাশিত হয়েছে। সংস্করণ 1.2.1 এই কমিট ধারণ করে.
নির্ভরতা আপডেট
-
SavedState
এখন লাইফসাইকেল2.6.1
এর উপর নির্ভর করে। ( c1f621 )
সংস্করণ 1.2.0
সংস্করণ 1.2.0
জুন 29, 2022
androidx.savedstate:savedstate:1.2.0
এবং androidx.savedstate:savedstate-ktx:1.2.0
প্রকাশিত হয়েছে। সংস্করণ 1.2.0 এই কমিট ধারণ করে.
1.1.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
-
SavedStateRegistryController
এখনperformAttach()
মাধ্যমেSavedStateRegistry
এর প্রাথমিক সংযুক্তির অনুমতি দেয়। - আপনি এখন
getSavedStateProvider()
মাধ্যমে একটিSavedStateRegistry
থেকে পূর্বে নিবন্ধিত একটিSavedStateProvider
পুনরুদ্ধার করতে পারেন। - Kotlin এ
SavedState
লাইব্রেরি আবার লেখা হয়েছে।-
SavedStateRegistryOwner
জন্য, এটি Kotlin-এ লেখা সেই ক্লাসগুলির জন্য একটি উৎসের অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখন আগেরgetSavedStateRegistry()
ফাংশনটি বাস্তবায়নের পরিবর্তেsavedStateRegistry
সম্পত্তি ওভাররাইড করতে হবে। -
ViewTreeSavedStateRegistryOwner
এর জন্য, Kotlin-এ লেখা সেই ক্লাসগুলির জন্য এটি একটি উৎসের অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখনView
androidx.savedstate.setViewTreeSavedStateRegistryOwner
এবংandroidx.savedstate.findViewTreeSavedStateRegistryOwner
এবং setwistrySetryOwner সেট করার জন্য Kotlin এক্সটেনশন পদ্ধতিগুলি সরাসরি আমদানি করতে হবে এবং ব্যবহার করতে হবে। এটিfindViewTreeSavedStateRegistryOwner
এরsavedstate-ktx
API-কে প্রতিস্থাপন করে।
-
আচরণ পরিবর্তন
-
SavedStateRegistry
আর একটি খালি বান্ডিল সংরক্ষণ করে না যদি সংরক্ষণ করার জন্য কোন অবস্থা না থাকে।
সংস্করণ 1.2.0-rc01
11 মে, 2022
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
20 এপ্রিল, 2022
androidx.savedstate:savedstate:1.2.0-beta01
এবং androidx.savedstate:savedstate-ktx:1.2.0-beta01
প্রকাশ করা হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
SavedStateRegistry
এবংViewTreeSavedStateRegistryOwner
ক্লাস কোটলিনে পুনরায় লেখা হয়েছে।ViewTreeSavedStateRegistryOwner
এর জন্য, Kotlin-এ লেখা সেই ক্লাসগুলির জন্য এটি একটি উৎসের অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখনView
androidx.savedstate.setViewTreeSavedStateRegistryOwner
এবংandroidx.savedstate.findViewTreeSavedStateRegistryOwner
এবং setwistrySetryOwner সেট করার জন্য Kotlin এক্সটেনশন পদ্ধতিগুলি সরাসরি আমদানি করতে হবে এবং ব্যবহার করতে হবে। এটিfindViewTreeSavedStateRegistryOwner
এরsavedstate-ktx
API-কে প্রতিস্থাপন করে। এটি বাইনারি সামঞ্জস্যপূর্ণ এবং জাভা প্রোগ্রামিং ভাষায় লিখিত বাস্তবায়নের জন্য উত্স সামঞ্জস্যপূর্ণ থাকে। ( b/220191285 )
সংস্করণ 1.2.0-alpha02
6 এপ্রিল, 2022
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
জন্য, এটি Kotlin-এ লেখা সেই ক্লাসগুলির জন্য একটি উৎসের অসঙ্গতিপূর্ণ পরিবর্তন - আপনাকে এখন আগেরgetSavedStateRegistry()
ফাংশনটি বাস্তবায়নের পরিবর্তেsavedStateRegistry
সম্পত্তি ওভাররাইড করতে হবে। এটি জাভা প্রোগ্রামিং ভাষায় লিখিত বাস্তবায়নের জন্য বাইনারি সামঞ্জস্যপূর্ণ এবং উত্স সামঞ্জস্যপূর্ণ। ( b/220191285 )
সংস্করণ 1.2.0-alpha01
জানুয়ারী 26, 2022
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
ফেব্রুয়ারী 10, 2021
androidx.savedstate:savedstate:1.1.0
এবং androidx.savedstate:savedstate-ktx:1.1.0
প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এই কমিট ধারণ করে.
1.0.0 থেকে প্রধান পরিবর্তন
-
ViewTreeSavedStateRegistryOwner
API : একটি নতুনViewTreeSavedStateRegistryOwner.get(View)
API আপনাকে একটিView
উদাহরণ দেওয়াSavedStateRegistry
ধারণকারী পুনরুদ্ধার করতে দেয়। এটি সঠিকভাবে পূরণ করতে আপনাকে অবশ্যই Activity1.2.0
, Fragment1.3.0
, এবং AppCompat1.3.0-alpha01
বা উচ্চতর আপগ্রেড করতে হবে৷ -
savedstate-ktx
artifact :ViewTreeSavedStateRegistryOwner
এর সাথে কাজ করার জন্য একটিfindViewTreeSavedStateRegistryOwner()
Kotlin এক্সটেনশনের সাথে নতুনsavedstate-ktx
আর্টিফ্যাক্ট যোগ করা হয়েছে।
সংস্করণ 1.1.0-rc01
16 ডিসেম্বর, 2020
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
অক্টোবর 1, 2020
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
20 মে, 2020
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()
Kotlin এক্সটেনশনের সাথে নতুনsavedstate-ktx
আর্টিফ্যাক্ট যোগ করা হয়েছে। ( aosp/1299434 )
সংস্করণ 1.0.0
সংস্করণ 1.0.0
5 সেপ্টেম্বর, 2019
androidx.savedstate:savedstate:1.0.0
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
SavedState 1.0.0 এর প্রধান বৈশিষ্ট্য
androidx.savedstate
একটি স্থিতিশীল প্রকাশে স্নাতক হয়েছে৷ এটি এপিআই-এর একটি সেট যা ডেভেলপারদের পুনরুদ্ধার/সেভ ইনস্ট্যান্সস্টেট প্রক্রিয়ায় কম্পোনেন্ট প্লাগইন করতে দেয়। API-এর প্রধান এন্ট্রি পয়েন্ট হল SavedStateRegistry
, যা consumeRestoredStateForKey
ব্যবহার করে পূর্বে সংরক্ষিত রাজ্যগুলি পুনরুদ্ধার করার একটি উপায় প্রদান করে এবং সিস্টেমের অনুরোধ করার পরে একটি সংরক্ষিত অবস্থা প্রদানের জন্য registerSavedStateProvider
এ একটি কলব্যাক নিবন্ধন করে৷
সংস্করণ 1.0.0-rc01
জুলাই 2, 2019
androidx.savedstate:savedstate:1.0.0-rc01
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- স্থির ভুল প্রগার্ড নিয়ম ( b/132655499 )
সংস্করণ 1.0.0-beta01
7 মে, 2019
androidx.savedstate:savedstate:1.0.0-beta01
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
সংস্করণ 1.0.0-alpha02
13 মার্চ, 2019
androidx.savedstate:savedstate:1.0.0-alpha02
প্রকাশিত হয়েছে। androidx.savedstate:savedstate
আর্টিফ্যাক্টগুলিকে androidx.savedstate:savedstate-bundle
এবং androidx.savedstate:savedstate-common
নকে একটি আর্টিফ্যাক্টে একত্রিত করে, কারণ এটি সংরক্ষিত স্টেট অবকাঠামোকে সরল করার এবং SavedStateRegistry
থেকে জেনেরিকগুলি সরানোর সিদ্ধান্ত নেওয়া হয়েছিল। সুতরাং, আলাদা মডিউলের প্রয়োজন নেই।
এই সংস্করণে অন্তর্ভুক্ত প্রতিশ্রুতির সম্পূর্ণ তালিকা এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
যোগ করা হয়েছে। প্রদত্ত ক্লাসটি ইনস্ট্যান্ট করা হবে এবংAutoRecreated.onRecreated
পদ্ধতিটি চালানো হবে যখন মালিকানাধীন উপাদান পুনরায় চালু হবে।
এপিআই পরিবর্তন
-
SavedStateRegistry<T>
থেকে জেনেরিক সরানো হয়েছে - AbstractSavedStateRegistry এবং BundlableSavedStateRegistry সরানো হয়েছে, পরিবর্তে সাধারণ
SavedStateRegistry
ব্যবহার করুন -
BundleSavedStateRegistryOwner
এর নাম পরিবর্তন করেSavedStateRegistryOwner
করা হয়েছে
সংস্করণ 1.0.0-alpha01
ডিসেম্বর 17, 2018
এটি SavedState
এর প্রথম প্রকাশ।
নতুন বৈশিষ্ট্য
androidx.savedstate
হল আলফা এপিআই-এর একটি নতুন সেট যা ডেভেলপারদের পুনরুদ্ধার/সেভ ইনস্ট্যান্সস্টেট প্রক্রিয়ায় প্লাগইন করার অনুমতি দেয়। API-এর প্রধান এন্ট্রি পয়েন্ট হল SavedStateRegistry<T>
, যা consumeRestoredStateForKey
এর মাধ্যমে পূর্বে সংরক্ষিত স্টেট পুনরুদ্ধার করার একটি উপায় প্রদান করে এবং সিস্টেমের অনুরোধ করার পরে একটি সংরক্ষিত স্টেট প্রদানের জন্য registerSavedStateProvider
একটি কলব্যাক নিবন্ধন করে।