ডেটাস্টোর
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
২২ অক্টোবর, ২০২৫ | ১.১.৭ | - | ১.২.০-বিটা০১ | - |
নির্ভরতা ঘোষণা করা
ডেটাস্টোরের উপর নির্ভরতা যোগ করতে, আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থলটি পড়ুন।
DataStore এর দুটি বাস্তবায়ন আছে: Preferences এবং Proto । যেকোনো একটি বেছে নিন। আপনি যেকোনো বাস্তবায়নে Android-মুক্ত নির্ভরতাও যোগ করতে পারেন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় বাস্তবায়নের জন্য নির্ভরতা যোগ করুন:
পছন্দসমূহ ডেটাস্টোর
খাঁজকাটা
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation "androidx.datastore:datastore-preferences:1.1.7" // optional - RxJava2 support implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.7" // optional - RxJava3 support implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.7" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-preferences-core:1.1.7" }
কোটলিন
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation("androidx.datastore:datastore-preferences:1.1.7") // optional - RxJava2 support implementation("androidx.datastore:datastore-preferences-rxjava2:1.1.7") // optional - RxJava3 support implementation("androidx.datastore:datastore-preferences-rxjava3:1.1.7") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-preferences-core:1.1.7") }
প্রোটো ডেটাস্টোর
খাঁজকাটা
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation "androidx.datastore:datastore:1.1.7" // optional - RxJava2 support implementation "androidx.datastore:datastore-rxjava2:1.1.7" // optional - RxJava3 support implementation "androidx.datastore:datastore-rxjava3:1.1.7" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-core:1.1.7" }
কোটলিন
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation("androidx.datastore:datastore:1.1.7") // optional - RxJava2 support implementation("androidx.datastore:datastore-rxjava2:1.1.7") // optional - RxJava3 support implementation("androidx.datastore:datastore-rxjava3:1.1.7") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-core:1.1.7") }
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করবে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন অথবা এই লাইব্রেরি উন্নত করার জন্য কোন ধারণা থাকে তাহলে আমাদের জানান। নতুন একটি তৈরি করার আগে দয়া করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি একবার দেখে নিন। আপনি তারকা বোতামে ক্লিক করে বিদ্যমান সমস্যাটিতে আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.2
সংস্করণ 1.2.0-beta01
২২ অক্টোবর, ২০২৫
androidx.datastore:datastore-*:1.2.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
-
CorruptionHandler
সর্বজনীন করুন। ( I9ac35 , b/452406457 ) -
GuavaDataStore
এandroidx.core.util.Function
ব্যবহার করুন। ( I71eae , b/448563999 ) -
GuavaDataStore.from
এর জন্য একটি ওভারলোড যোগ করুন যাCoroutineContext
এর পরিবর্তে একটি Executor গ্রহণ করে। ( I989fa , b/448563183 )
বাগ ফিক্স
- R8 দিয়ে অপ্টিমাইজ করা কিন্তু
getDefaultProguardFile('android-proguard-optimize.txt')
ব্যবহার না করা অ্যাপেDataStore
ব্যবহার করার সময়java.lang.UnsatisfiedLinkError
ঠিক করুন। ( I27d0d , b/434696293 ) - নির্দিষ্ট IO ডিসপ্যাচারের পরিবর্তে কলিং থ্রেডে (যেমন, প্রধান থ্রেড)
GuavaDataStore
অপারেশনগুলি ভুলভাবে চালানোর সমস্যাটি সমাধান করুন। ( Ic91ea , b/441801112 )
সংস্করণ 1.2.0-alpha02
৭ মে, ২০২৫
androidx.datastore:datastore-*:1.2.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
-
GuavaDataStore
. ( e0d608a ) এ মাল্টিপ্রসেস সাপোর্ট যোগ করা হয়েছে। -
DataStore
থেকে একটিGuavaDataStore
তৈরি করার জন্য একটি সহায়ক পদ্ধতি যোগ করা হয়েছে। ( 9af26f4 ) - Kotlin 2.0 দিয়ে মুক্তিপ্রাপ্ত প্রকল্পগুলির জন্য KGP 2.0.0 বা তার নতুন সংস্করণ ব্যবহার করা প্রয়োজন। ( Idb6b5 )
- সরাসরি বুটের সময় ব্যবহার করার জন্য একটি ডেটাস্টোর শুরু করতে বিদ্যমান
datastore
ওভারলোডকে একটি ডেলিগেট পদ্ধতি দিয়ে প্রতিস্থাপন করুন। ( If71b9 )
সংস্করণ 1.2.0-alpha01
২৬ মার্চ, ২০২৫
androidx.datastore:datastore-*:1.2.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
-
GuavaDataStore
এর মাধ্যমে জাভা এবং গুয়াভাListenableFuture
ব্যবহারকারীদের জন্য উপযুক্ত API গুলি প্রকাশ করার জন্যdatastore-guava
মডিউল যোগ করা হয়েছে। ( Iadd5e0 ) -
DirectBoot
মোডেDataStore
ব্যবহার এখন সমর্থিত। সরাসরি বুট মোডে ব্যবহার করার জন্য একটি ডেটাস্টোর তৈরি করতে এটি ডিভাইস সুরক্ষিত স্টোরেজের মধ্যে তৈরি করতে হবে। এটি নিম্নলিখিত নতুনDataStore
API গুলি দ্বারা অর্জন করা যেতে পারে:DataStoreFactory
এcreateInDeviceProtectedStorage()
এবংDataStoreDelegate
এdeviceProtectedDataStore()
। ( Ib90e56 )
API পরিবর্তনগুলি
-
FileStorage
সাথে ব্যবহারের জন্যandroidx.datastore.core.Serializer
ইন্টারফেস প্রয়োগকারীPreferencesFileSerializer
যোগ করা হয়েছে। ( I4c71f3 )
বাগ ফিক্স
- রেস কন্ডিশনের ক্ষেত্রে ডেটা পড়ার জন্য দ্বিতীয় প্রচেষ্টা যোগ করে স্টার্টআপে
OkioStorage
এFileNotFoundException
সমস্যা সমাধান করা হয়েছে। ( I43b3fb , b/337870543 ) - সাধারণ কোড ব্যবহারের জন্য
ReplaceFileCorruptionHandler
জন্য ডিফল্ট কনস্ট্রাক্টর সংজ্ঞায়িত করা হয়েছে। ( I795b05 , b/358138957 )
সংস্করণ 1.1
সংস্করণ 1.1.7
২০ মে, ২০২৫
androidx.datastore:datastore-*:1.1.7
প্রকাশিত হয়েছে। সংস্করণ 1.1.7-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
datastore-preferences-core
অ্যান্ড্রয়েড আর্টিফ্যাক্টে প্রোগার্ড নিয়মের অনুপস্থিতি সমাধান করা হয়েছে। ( 3f3f6e , b/413078297 )
সংস্করণ 1.1.6
৭ মে, ২০২৫
androidx.datastore:datastore-*:1.1.6
প্রকাশিত হয়েছে। সংস্করণ 1.1.6-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
1.1.5
সংস্করণে গ্র্যাডেল মেটাডেটা ভেঙে যাওয়ার সমস্যাটি সমাধান করা হয়েছে। এই সমস্যাটি নতুন AGP KMP প্লাগইন DSL-এ একটি বাগের কারণে হয়েছিল যা সমস্ত টার্গেট প্ল্যাটফর্মের মেটাডেটা স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত হতে বাধা দেয়। এই বাগের ফলে ক্লায়েন্টদের বিল্ডগুলিতে কিছু ডেটাস্টোর অ্যান্ড্রয়েড পদ্ধতি আর দৃশ্যমান হয় না। সমাধানের জন্যandroidLibrary
পরিবর্তেbuild.gradle
এ পুরানোandroid
DSL ব্যবহার করা প্রয়োজন। ( 7801abf )
সংস্করণ 1.1.5
২৩ এপ্রিল, ২০২৫
androidx.datastore:datastore-*:1.1.5
প্রকাশিত হয়েছে। সংস্করণ 1.1.5-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
PreferencesDataStore
এCorruptionException
সমস্যা কমাতে, ডিফল্ট স্টোরেজOkioStorage
থেকেFileStorage
এ পরিবর্তন করা হয়েছে। এই পরিবর্তনটি একটিPreferencesFileSerializer
প্রবর্তনের মাধ্যমে বাস্তবায়িত হয়েছে। b/346197747
সংস্করণ 1.1.4
২৬ মার্চ, ২০২৫
androidx.datastore:datastore-*:1.1.4
প্রকাশিত হয়েছে। সংস্করণ 1.1.4-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
CorruptionException
কমিয়ে নির্ভরযোগ্যতা উন্নত করতে ডিফল্ট স্টোরেজOkioStorage
থেকেFileStorage
এ প্রতিস্থাপন করুন। ( I71181 , b/346197747 )
সংস্করণ 1.1.3
২৬ ফেব্রুয়ারী, ২০২৫
androidx.datastore:datastore-*:1.1.3
প্রকাশিত হয়েছে। সংস্করণ 1.1.3-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- অ্যাপ স্টার্টআপের সময়
OkioStorage
এFileNotFoundException
সমস্যার সমাধান করা হয়েছে। যদি প্রাথমিক ফাইল পড়ার প্রচেষ্টা ব্যর্থ হয়, তাহলে প্রাথমিক পড়ার সময় ভিন্ন প্রক্রিয়ার মাধ্যমে ফাইল তৈরি হওয়ার কারণে যদি রেস কন্ডিশন দেখা দেয় তবে দ্বিতীয়বার চেষ্টা করা হবে। ( I43b3f , b/337870543 )
সংস্করণ 1.1.2
১৫ জানুয়ারী, ২০২৫
androidx.datastore:datastore-*:1.1.2
প্রকাশিত হয়েছে। সংস্করণ 1.1.2-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- উষ্ণ পঠন ল্যাটেন্সি (
DataStore.data.first()
) 8x দ্বারা উন্নত করুন। ( 22b8a40 ) - KMP সাধারণ কোড থেকে
ReplaceFileCorruptionHandler
তৈরি করা যেতে পারে। ( 7632e839 )
সংস্করণ 1.1.1
১ মে, ২০২৪
androidx.datastore:datastore-*:1.1.1
প্রকাশিত হয়েছে। সংস্করণ 1.1.1-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- "রিসোর্স ডেডলক ঘটবে" ত্রুটির ক্ষেত্রে লিনাক্সের মিথ্যা সতর্কতা হ্রাস পেয়েছে, একাধিক
DataStore
ইনস্ট্যান্স ফাইল লকটি ব্যাক অফ করে বিভিন্ন প্রক্রিয়া থেকে লেখার চেষ্টা করে।
সংস্করণ 1.1.0
১৭ এপ্রিল, ২০২৪
androidx.datastore:datastore-*:1.1.0
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলি রয়েছে।
১.০.০ প্রকাশের পর থেকে প্রধান পরিবর্তনগুলি
আরও তথ্যের জন্য অনুগ্রহ করে ১.১.০ এর আলফা এবং বিটা সংস্করণের রিলিজ নোটগুলি পর্যালোচনা করুন। ১.১.০ এর কিছু প্রধান আপডেট হল:
- ডেটাস্টোর এখন একই ফাইল অ্যাক্সেস করার জন্য একাধিক প্রক্রিয়া সমর্থন করে, বিভিন্ন প্রক্রিয়া জুড়ে পর্যবেক্ষণযোগ্যতার জন্য সমর্থন সহ।
- নতুন স্টোরেজ ইন্টারফেস আপনাকে আপনার ডেটা মডেলগুলি কীভাবে সংরক্ষণ বা সিরিয়ালাইজ করবেন তা কাস্টমাইজ করতে দেয়।
- আপনি এখন কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পগুলিতে ডেটাস্টোর ব্যবহার করতে পারেন।
সংস্করণ 1.1.0-rc01
৩ এপ্রিল, ২০২৪
androidx.datastore:datastore-*:1.1.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- নতুন ডেটা পুরাতন ডেটার মতো হলে ( d64cfb5 ) ডিস্ক লেখার সময়
updateData
কলগুলি অপ্টিমাইজ না করলে কর্মক্ষমতা হ্রাসের সমস্যাটি সমাধান করা হয়েছে। - একটি রেস কন্ডিশন ঠিক করা হয়েছে যেখানে
MultiProcess
DataStore
ইনিশিয়ালাইজেশনের সময় অবৈধকরণ মিস করতে পারে। (( b/326141553 ),( 094c2dd ))
সংস্করণ 1.1.0-beta02
৬ মার্চ, ২০২৪
androidx.datastore:datastore-*:1.1.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta02-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
DataStore
কর্মক্ষমতা উন্নতি শুধুমাত্র তখনই আপডেটের বিজ্ঞপ্তি সংগ্রহ করে যখন এটি পর্যবেক্ষণ করা হয়। ( b/267792241 )- মনে রাখবেন যে, যদি আপনি Coroutines টেস্টিং লাইব্রেরি ব্যবহার করেন, তাহলে এই পরিবর্তনটি আপনার পরীক্ষাগুলিতে
UncompletedCoroutinesError
ট্রিগার করতে পারে। এই সমস্যা এড়াতে আপনার পরীক্ষাগুলিতেDataStore
শুরু করার সময়TestScope.backgroundScope
পাস করেছেন কিনা তা নিশ্চিত করুন।
- মনে রাখবেন যে, যদি আপনি Coroutines টেস্টিং লাইব্রেরি ব্যবহার করেন, তাহলে এই পরিবর্তনটি আপনার পরীক্ষাগুলিতে
- একই ইনস্ট্যান্সে নেস্টেড
updateData
কলের অচলাবস্থার সমস্যা সমাধান করা হয়েছে। ( b/241760537 ) - মাইগ্রেশনের সময়
SharedPreferences
মুছে ফেলতে ব্যর্থ হলেDataStore
আরIOExceptions
নিক্ষেপ করবে না। ( b/195553816 ) - নন-অ্যান্ড্রয়েড JVM পরিবেশে
updateData
চলাকালীন ফাইলের নাম পরিবর্তন ব্যর্থ হওয়ার সমস্যাটি সমাধান করা হয়েছে। ( b/203087070 ) -
DataStore
initialization এর পরেCorruptionException
পরিচালনা না করার সমস্যাটি সমাধান করা হয়েছে। ( b/289582516 )
সংস্করণ 1.1.0-beta01
১০ জানুয়ারী, ২০২৪
androidx.datastore:datastore-*:1.1.0-beta01
1.1.0-alpha07
থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। 1.1.0-beta01 সংস্করণে এই কমিটগুলি রয়েছে।
সংস্করণ 1.1.0-alpha07
২৯ নভেম্বর, ২০২৩
androidx.datastore:datastore-*:1.1.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha07-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
-
MultiProcessDataStoreFactory
পদ্ধতিগুলি আর পরীক্ষামূলক নয়।@ExperimentalMultiProcessDataStore
অ্যানোটেশনটি সম্পূর্ণরূপে সরানো হয়েছে। ( Ieeee54 , I8e607 )
বাগ ফিক্স
-
@ExperimentalMultiProcessDataStore
অ্যানোটেশন অপসারণ 1.1.0-alpha07 এ রোলআউট করুন। ( I8e607 )
সংস্করণ 1.1.0-alpha06
১ নভেম্বর, ২০২৩
androidx.datastore:datastore-*:1.1.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha06-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
-
createSingleProcessCoordinator
ফ্যাক্টরি মেথড এখনcreateMultiProcessCoordinator
সাথে সামঞ্জস্যপূর্ণ একটি ফাইল পাথ (String
,java.io.File
এবংokio.Path
) গ্রহণ করে। ( I211c8 , b/305755935 )
সংস্করণ 1.1.0-alpha05
৬ সেপ্টেম্বর, ২০২৩
androidx.datastore:datastore-*:1.1.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha05-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
- ডেটাস্টোর
FileStorage
এখন সর্বজনীনভাবে উপলব্ধ, তাই ক্লায়েন্টরা কাস্টম প্যারামিটার সরবরাহ করতে পারে। ( Icb985 ) -
OkioStorage
কনস্ট্রাক্টর পরিবর্তন করে একটিInterProcessCoordinator
গ্রহণ করা হয়েছে যাতে এটি Android এMultiProcessCoordinator
এর সাথে ব্যবহার করা যায়। ( Iecea3 )
বাগ ফিক্স
-
MultiProcessCoordinator
একই ডিরেক্টরিতে একাধিক ফাইল নিরীক্ষণ করতে অক্ষম হওয়ার সমস্যাটি সমাধান করুন। - ফাইল পাথ স্বাভাবিক না হলে ডুপ্লিকেট ফাইল সনাক্ত করতে অক্ষমতা ঠিক করুন।
-
RxDataStore#isDisposed
থেকে ফিরে আসা ভুল মানগুলি ঠিক করুন। -
datstore-preferences-core
আর্টিফ্যাক্টের জন্য অনুপস্থিত প্রোগার্ড কনফিগারেশন ঠিক করুন।
সংস্করণ 1.1.0-alpha04
৫ এপ্রিল, ২০২৩
androidx.datastore:datastore-*:1.1.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha04-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- একটি রেস অবস্থা এড়াতে অভ্যন্তরীণ বাস্তবায়ন উন্নত করুন যেখানে
DataStore
এর ডেটা প্রবাহ আপডেটের পরে একটি পুরানো মান নির্গত করতে পারে।
সংস্করণ 1.1.0-alpha03
২৪ মার্চ, ২০২৩
androidx.datastore:datastore-*:1.1.0-alpha03
প্রকাশিত হয়েছে।
বাগ ফিক্স
- কোটলিন নেটিভ টার্গেটস ( b/274786186 , KT-57531 ) -এ একটি বিল্ড সমস্যা সমাধানের জন্য Maven আর্টিফ্যাক্ট থেকে নির্ভরতা সীমাবদ্ধতা অপসারণ করা হয়েছে।
সংস্করণ 1.1.0-alpha02
২২ মার্চ, ২০২৩
androidx.datastore:datastore-*:1.1.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha02-এ এই কমিটগুলি রয়েছে।
দ্রষ্টব্য
মনে রাখবেন যে এই সংস্করণে একটি গুরুত্বপূর্ণ অভ্যন্তরীণ রিফ্যাক্টর রয়েছে যা একক প্রক্রিয়া এবং বহু প্রক্রিয়া ডেটাস্টোর বাস্তবায়নের জন্য বাস্তবায়নগুলিকে একত্রিত করে। অনুগ্রহ করে সম্ভাব্য অনিচ্ছাকৃত আচরণগত পরিবর্তনের উপর নজর রাখুন (যেমন আপডেট বিজ্ঞপ্তির সময়)। আপনি এই ধরনের পরিবর্তনগুলি রিপোর্ট করতে সমস্যা ট্র্যাকার উপাদান ব্যবহার করতে পারেন।
নতুন বৈশিষ্ট্য
- আপনি এখন KMM প্রকল্পগুলিতে
DataStore
ব্যবহার করতে পারেন। মনে রাখবেন যে DataStore-এর নন-অ্যান্ড্রয়েড টার্গেটগুলি এখনও পরীক্ষামূলকভাবে চালু আছে কিন্তু ডেভেলপারদের জন্য সেগুলি ব্যবহার করা সহজ করার জন্য আমরা সংস্করণগুলিকে একত্রিত করার সিদ্ধান্ত নিয়েছি। - মাল্টি প্রসেস বৈশিষ্ট্যগুলি
androidx.datastore.multiprocess
থেকেandroidx.datastore.core
এ স্থানান্তরিত হয়। - ফাইল অপারেশনের জন্য
Storage
অবজেক্ট দিয়ে ডেটাস্টোর ইনস্ট্যান্স তৈরি করতেandroidx.datastore.core.MultiProcessDataStoreFactory
এ একটি নতুন ফ্যাক্টরি পদ্ধতি যোগ করুন। - একটি নতুন ইন্টারফেস
InterProcessCoordinator
যোগ করুন যা একাধিক ডেটাস্টোর ইনস্ট্যান্সকে প্রসেসের মধ্যে যোগাযোগ করতে সাহায্য করে। মনে রাখবেন,InterProcessCoordinator
মাল্টি-প্রসেস বাস্তবায়ন শুধুমাত্র অ্যান্ড্রয়েডে উপলব্ধ।
API পরিবর্তনগুলি
- ডেটাস্টোর-কোর ইন্টারফেসে ( I555bb )
StorageConnection
InterProcessCoordinator
যোগ করুন - স্টোরেজ ব্যবহার করার জন্য ডেটাস্টোর-কোর
MultiProcessDataStoreFactory
API গুলি পরিবর্তন করুন। ( Iac02f ) - ডেটাস্টোর-মাল্টিপ্রসেসে পাবলিক API গুলিকে ডেটাস্টোর-কোরে ( I76d7c ) সরান
- ডেটাস্টোর-প্রেফারেন্সেস-কোর ( I4b788 ) থেকে এক্সপোজড
PreferencesSerializer
-
@JvmDefaultWithCompatibility
টীকা যোগ করা হচ্ছে ( I8f206 )
সংস্করণ 1.1.0-alpha01
৯ নভেম্বর, ২০২২
androidx.datastore:datastore-*:1.1.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- মাল্টি-প্রসেস ব্যবহারের ক্ষেত্রে সমর্থন করুন যেখানে বিভিন্ন প্রসেসের
DataStore
ইনস্ট্যান্সের মধ্যে ডেটার সামঞ্জস্য নিশ্চিত করা হয়। এই ধরনেরDataStore
ইনস্ট্যান্স তৈরি করতেMultiProcessDataStoreFactory#create
যোগ করুন। - নতুন স্টোরেজ ইন্টারফেস যা
Datastore
অন্তর্নিহিত স্টোরেজ প্রক্রিয়াটি স্যুইচ আউট করার অনুমতি দেয়। java.io এবং okio এর জন্য বাস্তবায়ন প্রদান করা হয়েছে।DataStore
কারখানাগুলিতে নতুন পদ্ধতি রয়েছে যা এই স্টোরেজ অবজেক্টটি গ্রহণ করে।
API পরিবর্তনগুলি
- স্টোরেজ ব্যবহার করার জন্য ডেটাস্টোর-কোর
MultiProcessDataStoreFactory
API গুলি পরিবর্তন করুন। ( Iac02f ) - ডেটাস্টোর-মাল্টিপ্রসেসে পাবলিক API গুলিকে ডেটাস্টোর-কোরে ( I76d7c ) সরান
- ডেটাস্টোর-প্রেফারেন্সেস-কোর ( I4b788 ) থেকে এক্সপোজড
PreferencesSerializer
সংস্করণ 1.0.0
সংস্করণ 1.0.0
৪ আগস্ট, ২০২১
androidx.datastore:datastore-*:1.0.0
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-এ এই কমিটগুলি রয়েছে।
১.০.০ এর প্রধান বৈশিষ্ট্য
জেটপ্যাক ডেটাস্টোর হল একটি ডেটা স্টোরেজ সলিউশন যা আপনাকে প্রোটোকল বাফারের সাহায্যে কী-মান জোড়া বা টাইপ করা বস্তু সংরক্ষণ করতে দেয়। ডেটাস্টোর অ্যাসিঙ্ক্রোনাস, ধারাবাহিকভাবে এবং লেনদেনের মাধ্যমে ডেটা সংরক্ষণের জন্য কোটলিন কোরোটিন এবং ফ্লো ব্যবহার করে।
সংস্করণ 1.0.0-rc02
২১ জুলাই, ২০২১
androidx.datastore:datastore-*:1.0.0-rc02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc02-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- স্পষ্ট করে বলুন যে কোনও কী না থাকলে
SharedPreferencesMigration
চলবে না। ( Icfa32 , b/192824325 ) - অনুরোধ করা কীটি এখনও বিদ্যমান না থাকলে
MIGRATE_ALL_KEYS
দিয়ে তৈরিSharedPreferencesMigration
ক্ষেত্রে ব্যতিক্রম দেখা দিলে, বাগটি ঠিক করুন। ( Ie318a , b/192824325 )
সংস্করণ 1.0.0-rc01
৩০ জুন, ২০২১
androidx.datastore:datastore-*:1.0.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc01-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- .java ফাইলটি অসাবধানতাবশত ফাইনাল জারে যোগ করা হয়েছে এমন বাগ সংশোধন করে ( I65d96 , b/188985637 )
সংস্করণ 1.0.0-beta02
১৬ জুন, ২০২১
androidx.datastore:datastore-*:1.0.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta02-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
ClassVerificationFailure
ফেইলুর ঠিক করুন ( b/187450483 )
সংস্করণ 1.0.0-beta01
২১ এপ্রিল, ২০২১
androidx.datastore:datastore-*:1.0.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
- শুধুমাত্র কোটলিন পদ্ধতির জন্য JVM ওভারলোডগুলি সরান ( I2adc7 )
বাগ ফিক্স
- ডেটাস্টোর ডেলিগেট করার ফলে প্রসঙ্গ ফাঁস হতে পারে এমন একটি বাগ সংশোধন করা হয়েছে ( Ie96fc , b/184415662 )
সংস্করণ 1.0.0-alpha08
১০ মার্চ, ২০২১
androidx.datastore:datastore-*:1.0.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
- আপনি এখন আপনার
dataStore
এবংpreferencesDataStore
প্রপার্টি ডেলিগেট-এ প্রেক্ষাপটের উপর নির্ভর করে একটি মাইগ্রেশন যোগ করতে পারেন। ( I4ef69 , b/173726702 ) - যদি আপনি আর ডেটাস্টোর ডেলিগেট বা context.createDataStore ( I60f9a ) ব্যবহার না করেন, তাহলে ফাইলের নাম পেতে সহায়ক ফাংশন যোগ করে।
- Serializer writeTo এবং readFrom এখন সাসপেন্ড করা হচ্ছে। যদি আপনি একটি Serializer বাস্তবায়ন করে থাকেন, তাহলে আপনার ফাংশনগুলিকে সাসপেন্ড ফাংশন হিসেবে আপডেট করতে হবে। ( I1e58e )
- RxDataStore ব্যবহারকারীদের জন্য সম্পত্তি প্রতিনিধি যোগ করা হয়েছে। ( Ied768 , b/173726702 )
বাগ ফিক্স
- পরীক্ষামূলক API-এর সর্বজনীন ব্যবহারের উপর বিধিনিষেধ আরোপ করুন ( I6aa29 , b/174531520 )
সংস্করণ 1.0.0-alpha07
২৪ ফেব্রুয়ারী, ২০২১
androidx.datastore:datastore-*:1.0.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07-এ এই কমিটগুলি রয়েছে।
API পরিবর্তনগুলি
Context.createDataStore
এক্সটেনশন ফাংশনটি সরিয়ে globalDataStore প্রোপার্টি ডেলিগেট দিয়ে প্রতিস্থাপন করা হয়েছে। আপনার kotlin ফাইলের উপরের স্তরে একবার globalDataStore কল করুন। উদাহরণস্বরূপ:val Context.myDataStore by dataStore(...)
এটিকে আপনার কোটলিন ফাইলের উপরের স্তরে রাখুন যাতে এর কেবল একটি উদাহরণ থাকে। ( I57215 , b/173726702 )
RxDataStore ফাংশনগুলি এখন DataStore-এর এক্সটেনশন ফাংশনের পরিবর্তে একটি RxDataStore ক্লাসে রয়েছে। ( Idccdb , b/177691248 )
যদি আপনি EncryptedSharedPreferences (অথবা সরাসরি বুট SharedPreferences) DataStore-এ স্থানান্তর করতে চান, তাহলে আপনি এখন নতুন SharedPreferencesMigration কনস্ট্রাক্টর দিয়ে এটি করতে পারেন যা আপনাকে SharedPreferences ইনজেক্ট করতে দেয়। ( I8e04e , b/177278510 )
বাগ ফিক্স
- একই ফাইলের জন্য একাধিক সক্রিয় ডেটাস্টোর থাকলে DataStore এখন একটি ব্যতিক্রম দেবে। যদি আপনি আপনার ডেটাস্টোরকে Singleton হিসেবে পরিচালনা না করতেন অথবা নিশ্চিত না করতেন যে DataStore-এর দুটি উদাহরণ একই সাথে একটি ফাইলের জন্য সক্রিয় না থাকে, তাহলে DataStore-এ পড়ার বা লেখার সময় আপনি এখন ব্যতিক্রম দেখতে পাবেন। আপনার ডেটাস্টোরকে Singleton হিসেবে পরিচালনা করে এগুলি ঠিক করা যেতে পারে। ( Ib43f4 , b/177691248 )
- কলার স্কোপ বাতিল হলে বাতিলকরণ আচরণ ঠিক করুন। ( I2c7b3 )
সংস্করণ 1.0.0-alpha06
১৩ জানুয়ারী, ২০২১
androidx.datastore:datastore-*:1.0.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- DataStore-এর জন্য RxJava র্যাপার যোগ করা হয়েছে।
datastore-rxjava2/3
আর্টিফ্যাক্টগুলিতে মূল DataStore API-এর (RxDataStore
,RxDataStoreBuilder
, এবংRxDataMigration
) র্যাপার থাকে।datastore-preferences-rxjava2/3
আর্টিফ্যাক্টগুলিতে একটি Preferences DataStore তৈরি করার জন্য একটি বিল্ডার থাকে।
API পরিবর্তনগুলি
- CorruptionHandler ইন্টারফেসটি লুকান। এটি সর্বজনীন হওয়ার কোনও কারণ ছিল না কারণ DataStore কারখানাটি শুধুমাত্র একটি ReplaceFileCurruptionHandler গ্রহণ করে। ( I0b3b3 , b/176032264 )
-
preferencesKey<T>(name: String): Key<T>
পদ্ধতিটি সরানো হয়েছে এবং প্রতিটি সমর্থিত ধরণের জন্য নির্দিষ্ট পদ্ধতি দিয়ে প্রতিস্থাপিত হয়েছে, উদাহরণস্বরূপpreferencesKey<Int>("int")
এখনintPreferencesKey("int")
( Ibcfac , b/170311106 )
বাগ ফিক্স
- DataStoreFactory-এর ডকুমেন্টেশন ঠিক করে যেখানে ডেটাস্টোর ফাইলটি "datastore/" সাবডিরেক্টরিতে তৈরি করা হয়েছে তা বাদ দেওয়া হয়েছিল। ( Ica222 )
সংস্করণ 1.0.0-alpha05
২ ডিসেম্বর, ২০২০
androidx.datastore:datastore-*:1.0.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha05-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- ডেটাস্টোর থেকে সমকালীন লেখার ক্ষেত্রে আরও ভালো ডকুমেন্টেশন এবং ব্যতিক্রম যোগ করুন। ( Ia98a2 , b/173522155 , b/173726702 )
- আমরা এখন
Serializer.writeTo()
এ পাঠানো OutputStream বন্ধ করার অনুমতি দিচ্ছি (কিন্তু প্রয়োজন নেই)। ( I5c9bf , b/173037611 )
সংস্করণ 1.0.0-alpha04
১৭ নভেম্বর, ২০২০
androidx.datastore:datastore-*:1.0.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- Preference Datastore
1.0.0-alpha03
এ নিম্নলিখিত ক্র্যাশের কারণ হওয়া একটি প্যাকেজিং সমস্যা সমাধান করা হয়েছে:java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/datastore/preferences
- দুর্ঘটনাটি মূলত এখানে রিপোর্ট করা হয়েছিল: b/173036843
- ( I4712d , b/173036843 )
সংস্করণ 1.0.0-alpha03
১১ নভেম্বর, ২০২০
androidx.datastore:datastore-*:1.0.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- Preferences এখন দ্বিগুণ মান সমর্থন করে (যা floats এর চেয়ে বেশি নির্ভুলতার প্রয়োজন হলে কার্যকর) ( I5be8f , b/169471808 )
API পরিবর্তনগুলি
- দ্রুত সংকলনের জন্য ডেটাস্টোরের জন্য একটি বিশুদ্ধ কোটলিন নির্ভরতা তৈরি করা হয়েছে।
androidx.datastore:datastore-core
কোটলিন-এর জন্য শুধুমাত্র কোর API রয়েছে এবংandroidx.datastore:datastore
অ্যান্ড্রয়েডের উপর নির্ভরশীল API রয়েছে (SharedPreferencesMigration
এবংContext.createDataStore
কনস্ট্রাক্টর সহ।)( I42d75 , b/168512698 ) - দ্রুত কোটলিন সংকলনের জন্য পছন্দের ডেটা স্টোরের জন্য লক্ষ্যগুলি বিভক্ত করা ( Ia3c19 )
সিরিয়ালাইজারের জন্য এখন ডিফল্ট মানের জন্য একটি নতুন বৈশিষ্ট্য প্রয়োজন যা ডিস্কে কোনও ডেটা না থাকলে ব্যবহার করা হবে। এটি কাস্টম সিরিয়ালাইজার বাস্তবায়ন করা সহজ করে তোলে যাতে ব্যবহারকারীদের খালি ইনপুট স্ট্রিমগুলিকে বিশেষ ক্ষেত্রে ব্যবহার করতে না হয় (খালি ইনপুট স্ট্রিমগুলি json দিয়ে পার্স করে না)।
- এছাড়াও এখন একটি চেক আছে যা নিশ্চিত করবে যে writeTo() এ প্রদত্ত আউটপুট স্ট্রিমটি বন্ধ নয়, এবং যদি এটি বন্ধ থাকে তবে এটি ব্যতিক্রমগুলি ছুঁড়ে ফেলে ( I16e29 )
SharedPreferencesView-এর জন্য কনস্ট্রাক্টর তৈরি করা হচ্ছে অভ্যন্তরীণ। পরীক্ষার অনুমতি দেওয়ার জন্য এটি মূলত সর্বজনীন ছিল। পরীক্ষাগুলির পরিবর্তে একটি SharedPreferencesMigration তৈরি করা উচিত এবং এর বিরুদ্ধে পরীক্ষা করা উচিত। ( I93891 )
বাগ ফিক্স
-
DataStoreFactory
এবংPreferenceDataStoreFactory
এরproduceFile
প্যারামিটারটি এখন তালিকার শেষ প্যারামিটার, তাই এটি আপনাকে kotlin trailing lambda সিনট্যাক্স ব্যবহার করতে দেয়। ( Ibe7f1 , b/169425442 ) - কোটলিনের জন্য নতুন স্পষ্ট API প্রয়োজনীয়তা অনুসরণ করা ( I5ae1e )
জ্ঞাত সমস্যা
-
java.lang.NoClassDefFoundError
সাথে প্রেফারেন্স ডেটাস্টোর ক্র্যাশ করেছে। ( b/173036843 )
সংস্করণ 1.0.0-alpha02
১৪ অক্টোবর, ২০২০
androidx.datastore:datastore-core:1.0.0-alpha02
এবং androidx.datastore:datastore-preferences:1.0.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- ডেটাস্টোর-কোরে মিউটেশনের বিরুদ্ধে একটি সুরক্ষা ব্যবস্থা যোগ করা হয়েছে। নন-প্রোটো/নন-প্রেফারেন্সেস টাইপের ডেটাস্টোর ব্যবহারকারীদের জন্য মিউটেশন ডেটাস্টোরের ব্যবহার বন্ধ করে দেয় ( I6aa84 )
- বর্তমান অবস্থা ডিবাগ করা সহজ করার জন্য Preferences.kt-তে একটি
toString
পদ্ধতি যোগ করা হয়েছে ( I96006 ) -
DataStore.Preferences
( I1134d ) এর অপব্যবহার রোধে একটি ব্যতিক্রম যোগ করা হয়েছে। - অ্যাপটি শুরু করার সময় ক্র্যাশ করার কারণ হতে পারে এমন একটি বাগ সংশোধন করা হয়েছে ( I69237 , b/168580258 )
সংস্করণ 1.0.0-alpha01
২ সেপ্টেম্বর, ২০২০
androidx.datastore:datastore-core:1.0.0-alpha01
এবং androidx.datastore:datastore-preferences:1.0.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
জেটপ্যাক ডেটাস্টোর একটি নতুন এবং উন্নত ডেটা স্টোরেজ সমাধান যা শেয়ার্ডপ্রেফারেন্সগুলিকে প্রতিস্থাপন করার লক্ষ্যে কাজ করে। কোটলিন কর্উটিন এবং ফ্লো-এর উপর নির্মিত, ডেটাস্টোর দুটি ভিন্ন বাস্তবায়ন প্রদান করে:
- প্রোটো ডেটাস্টোর, যা আপনাকে টাইপ করা বস্তু সংরক্ষণ করতে দেয় ( প্রোটোকল বাফার দ্বারা সমর্থিত)
- প্রেফারেন্সেস ডেটাস্টোর, যা কী-মান জোড়া সংরক্ষণ করে
SharedPreferences-এর বেশিরভাগ ত্রুটি কাটিয়ে ডেটা অ্যাসিঙ্ক্রোনাসভাবে, ধারাবাহিকভাবে এবং লেনদেনের মাধ্যমে সংরক্ষণ করা হয়।