ডেটাস্টোর
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
1 মে, 2024 | 1.1.1 | - | - | - |
নির্ভরতা ঘোষণা করা
ডেটাস্টোরে নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
ডেটাস্টোরের দুটি বাস্তবায়ন রয়েছে: পছন্দ এবং প্রোটো । একটি বা অন্য চয়ন করুন. আপনি উভয় বাস্তবায়নে Android-মুক্ত নির্ভরতা যোগ করতে পারেন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় বাস্তবায়নের জন্য নির্ভরতা যোগ করুন:
Preferences DataStore
Groovy
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation "androidx.datastore:datastore-preferences:1.1.1" // optional - RxJava2 support implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.1" // optional - RxJava3 support implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.1" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-preferences-core:1.1.1" }
Kotlin
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation("androidx.datastore:datastore-preferences:1.1.1") // optional - RxJava2 support implementation("androidx.datastore:datastore-preferences-rxjava2:1.1.1") // optional - RxJava3 support implementation("androidx.datastore:datastore-preferences-rxjava3:1.1.1") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-preferences-core:1.1.1") }
Proto DataStore
Groovy
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation "androidx.datastore:datastore:1.1.1" // optional - RxJava2 support implementation "androidx.datastore:datastore-rxjava2:1.1.1" // optional - RxJava3 support implementation "androidx.datastore:datastore-rxjava3:1.1.1" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-core:1.1.1" }
Kotlin
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation("androidx.datastore:datastore:1.1.1") // optional - RxJava2 support implementation("androidx.datastore:datastore-rxjava2:1.1.1") // optional - RxJava3 support implementation("androidx.datastore:datastore-rxjava3:1.1.1") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-core:1.1.1") }
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.1
সংস্করণ 1.1.1
1 মে, 2024
androidx.datastore:datastore-*:1.1.1
প্রকাশিত হয়েছে। সংস্করণ 1.1.1- এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- "রিসোর্স ডেডলক ঘটবে" ত্রুটির উপর প্রশমিত লিনাক্স মিথ্যা অ্যালার্ম একটি কর্নার ক্ষেত্রে একাধিক
DataStore
দৃষ্টান্ত ফাইল লক ব্যাক অফ করে বিভিন্ন প্রক্রিয়া থেকে লেখার চেষ্টা করে।
সংস্করণ 1.1.0
এপ্রিল 17, 2024
androidx.datastore:datastore-*:1.1.0
প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এ এই কমিটগুলি রয়েছে।
1.0.0 প্রকাশের পর থেকে বড় পরিবর্তন
আরো তথ্যের জন্য 1.1.0 এর আলফা এবং বিটা সংস্করণ থেকে রিলিজ নোট পর্যালোচনা করুন. 1.1.0 এর কিছু প্রধান আপডেট হল:
- ডেটাস্টোর এখন একই ফাইল অ্যাক্সেস করার জন্য একাধিক প্রক্রিয়া সমর্থন করে, প্রসেস জুড়ে পর্যবেক্ষণযোগ্যতার জন্য সমর্থন করে।
- নতুন স্টোরেজ ইন্টারফেস আপনাকে কীভাবে আপনার ডেটা মডেলগুলি সঞ্চয় বা সিরিয়ালাইজ করতে হয় তা কাস্টমাইজ করতে দেয়৷
- আপনি এখন কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্পগুলিতে ডেটাস্টোর ব্যবহার করতে পারেন।
সংস্করণ 1.1.0-rc01
3 এপ্রিল, 2024
androidx.datastore:datastore-*:1.1.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- পারফরম্যান্সের অবনতি সংশোধন করা হয়েছে যেখানে
updateData
কলগুলি ডিস্কে অপ্টিমাইজ করেনি যদি নতুন ডেটা পুরানো ডেটার মতো হয় ( d64cfb5 ) - একটি রেস শর্ত স্থির করা হয়েছে যেখানে
MultiProcess
DataStore
আরম্ভ করার সময় অবৈধতা মিস করতে পারে। (( b/326141553 ),( 094c2dd ))
সংস্করণ 1.1.0-beta02
6 মার্চ, 2024
androidx.datastore:datastore-*:1.1.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
DataStore
কর্মক্ষমতা উন্নতি শুধুমাত্র আপডেট বিজ্ঞপ্তি সংগ্রহ করে যখন এটি পর্যবেক্ষণ করা হয়। ( b/267792241 )- মনে রাখবেন যে আপনি যদি Coroutines টেস্টিং লাইব্রেরি ব্যবহার করেন তবে এই পরিবর্তনটি আপনার পরীক্ষায়
UncompletedCoroutinesError
ট্রিগার করতে পারে। এই সমস্যা এড়াতে আপনার পরীক্ষায়DataStore
শুরু করার সময় আপনিTestScope.backgroundScope
পাস করেছেন তা নিশ্চিত করুন।
- মনে রাখবেন যে আপনি যদি Coroutines টেস্টিং লাইব্রেরি ব্যবহার করেন তবে এই পরিবর্তনটি আপনার পরীক্ষায়
- একই দৃষ্টান্তে নেস্টেড
updateData
কলের সমস্যাটি ঠিক করা হলে তা অচল হয়ে যাবে। ( b/241760537 ) - মাইগ্রেশনের সময়
SharedPreferences
মুছে ফেলতে ব্যর্থ হলে MadeDataStore
আরIOExceptions
ফেলবে না। ( b/195553816 ) - নন-অ্যান্ড্রয়েড JVM পরিবেশে
updateData
সময় ফাইলের নাম পরিবর্তন করতে ব্যর্থ হলে সমস্যাটি সমাধান করা হয়েছে। ( b/203087070 ) -
DataStore
আরম্ভ করার পরে যেখানেCorruptionException
পরিচালনা করা হয় না সেই সমস্যাটির সমাধান করা হয়েছে। ( b/289582516 )
সংস্করণ 1.1.0-beta01
জানুয়ারী 10, 2024
androidx.datastore:datastore-*:1.1.0-beta01
1.1.0-alpha07
থেকে কোনো পরিবর্তন ছাড়াই মুক্তি পেয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিট রয়েছে।
সংস্করণ 1.1.0-alpha07
নভেম্বর 29, 2023
androidx.datastore:datastore-*:1.1.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha07 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
MultiProcessDataStoreFactory
পদ্ধতিগুলি আর পরীক্ষামূলক নয়৷@ExperimentalMultiProcessDataStore
টীকাটি সম্পূর্ণরূপে সরানো হয়েছে৷ ( Ieee54 , I8e607 )
বাগ ফিক্স
-
@ExperimentalMultiProcessDataStore
টীকাগুলিকে 1.1.0-alpha07-এ সরিয়ে ফেলুন। ( I8e607 )
সংস্করণ 1.1.0-alpha06
নভেম্বর 1, 2023
androidx.datastore:datastore-*:1.1.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha06-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
createSingleProcessCoordinator
ফ্যাক্টরি পদ্ধতি এখনcreateMultiProcessCoordinator
এর সাথে সামঞ্জস্যপূর্ণ হতে একটি ফাইল পাথ (String
,java.io.File
এবংokio.Path
) গ্রহণ করে। ( I211c8 , b/305755935 )
সংস্করণ 1.1.0-alpha05
6 সেপ্টেম্বর, 2023
androidx.datastore:datastore-*:1.1.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha05 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- Datastore
FileStorage
এখন সর্বজনীনভাবে উপলব্ধ, তাই ক্লায়েন্টরা কাস্টম প্যারামগুলি প্রদান করতে পারে৷ ( আইসিবি৯৮৫ ) - একটি
InterProcessCoordinator
গ্রহণ করার জন্যOkioStorage
কনস্ট্রাক্টর পরিবর্তন করা হয়েছে যাতে এটিMultiProcessCoordinator
সাথে অ্যান্ড্রয়েডে ব্যবহার করা যায়। ( আইসিইএ৩ )
বাগ ফিক্স
- একই ডিরেক্টরিতে একাধিক ফাইল নিরীক্ষণ করতে অক্ষম
MultiProcessCoordinator
ঠিক করুন। - ফাইল পাথ স্বাভাবিক না হলে ডুপ্লিকেট ফাইল সনাক্ত করতে অক্ষম ঠিক করুন।
-
RxDataStore#isDisposed
থেকে ফিরে আসা ভুল মানগুলি ঠিক করুন। -
datstore-preferences-core
আর্টিফ্যাক্টের জন্য অনুপস্থিত প্রোগার্ড কনফিগারেশন ঠিক করুন।
সংস্করণ 1.1.0-alpha04
5 এপ্রিল, 2023
androidx.datastore:datastore-*:1.1.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha04 এই কমিট ধারণ করে।
বাগ ফিক্স
- একটি রেস অবস্থা এড়াতে অভ্যন্তরীণ বাস্তবায়ন উন্নত করুন যেখানে
DataStore
ডেটা প্রবাহ একটি আপডেটের পরে একটি পুরানো মান নির্গত করতে পারে।
সংস্করণ 1.1.0-alpha03
24 মার্চ, 2023
androidx.datastore:datastore-*:1.1.0-alpha03
প্রকাশিত হয়েছে।
বাগ ফিক্স
- কোটলিন নেটিভ টার্গেটস ( b/274786186 , KT-57531 ) এ বিল্ড সমস্যা সমাধানের জন্য মাভেন আর্টিফ্যাক্টস থেকে নির্ভরতার সীমাবদ্ধতা দূর করা হয়েছে।
সংস্করণ 1.1.0-alpha02
22 মার্চ, 2023
androidx.datastore:datastore-*:1.1.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha02 এই কমিট ধারণ করে।
দ্রষ্টব্য
মনে রাখবেন যে এই সংস্করণে একটি গুরুত্বপূর্ণ অভ্যন্তরীণ রিফ্যাক্টর রয়েছে যা একক প্রক্রিয়া এবং বহু প্রক্রিয়া ডেটাস্টোর বাস্তবায়নের বাস্তবায়নকে একত্রিত করে। অনুগ্রহ করে সম্ভাব্য অনিচ্ছাকৃত আচরণ পরিবর্তনের দিকে নজর রাখুন (যেমন আপডেট বিজ্ঞপ্তির সময়)। আপনি এই ধরনের পরিবর্তন রিপোর্ট করতে সমস্যা ট্র্যাকার উপাদান ব্যবহার করতে পারেন.
নতুন বৈশিষ্ট্য
- আপনি এখন KMM প্রকল্পগুলিতে
DataStore
ব্যবহার করতে পারেন৷ মনে রাখবেন যে ডেটাস্টোরের নন-অ্যান্ড্রয়েড লক্ষ্যগুলি এখনও পরীক্ষামূলক তবে আমরা বিকাশকারীদের জন্য সেগুলি ব্যবহার করা সহজ করার জন্য সংস্করণগুলিকে মার্জ করার সিদ্ধান্ত নিয়েছি৷ - একাধিক প্রক্রিয়া বৈশিষ্ট্য
androidx.datastore.multiprocess
থেকেandroidx.datastore.core
এ সরানো হয়েছে। -
androidx.datastore.core.MultiProcessDataStoreFactory
এ একটি নতুন ফ্যাক্টরি পদ্ধতি যোগ করুন যাতে ফাইল অপারেশনের জন্যStorage
অবজেক্টের সাথে ডেটাস্টোর ইনস্ট্যান্স তৈরি করা যায়। - একটি নতুন ইন্টারফেস
InterProcessCoordinator
যোগ করুন যা একাধিক ডেটাস্টোর দৃষ্টান্তকে সমস্ত প্রক্রিয়া জুড়ে যোগাযোগ করতে সহায়তা করে। মনে রাখবেন,InterProcessCoordinator
মাল্টি-প্রসেস বাস্তবায়ন শুধুমাত্র অ্যান্ড্রয়েডে উপলব্ধ।
এপিআই পরিবর্তন
- ডেটাস্টোর-কোর ইন্টারফেসে
StorageConnection
InterProcessCoordinator
যোগ করুন ( I555bb ) - স্টোরেজ ব্যবহার করতে ডেটাস্টোর-কোর
MultiProcessDataStoreFactory
APIগুলি পরিবর্তন করুন। ( Iac02f ) - ডেটাস্টোর-মাল্টিপ্রসেসে সর্বজনীন APIগুলিকে ডেটাস্টোর-কোরে ( I76d7c ) সরান
- ডেটাস্টোর-প্রেফারেন্স-কোর ( I4b788 ) থেকে প্রকাশিত
PreferencesSerializer
-
@JvmDefaultWithCompatibility
টীকা যোগ করা হচ্ছে ( I8f206 )
সংস্করণ 1.1.0-alpha01
9 নভেম্বর, 2022
androidx.datastore:datastore-*:1.1.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- মাল্টি-প্রসেস ব্যবহারের ক্ষেত্রে সমর্থন করুন যেখানে সমস্ত প্রক্রিয়া জুড়ে
DataStore
উদাহরণগুলির মধ্যে ডেটা সামঞ্জস্য নিশ্চিত করা হয়। এই ধরনেরDataStore
দৃষ্টান্ত তৈরি করতেMultiProcessDataStoreFactory#create
যোগ করুন। - নতুন স্টোরেজ ইন্টারফেস যা
Datastore
জন্য অন্তর্নিহিত স্টোরেজ মেকানিজমকে সুইচ আউট করার অনুমতি দেয়। java.io এবং okio এর জন্য বাস্তবায়ন প্রদান করা হয়েছে।DataStore
কারখানায় নতুন পদ্ধতি রয়েছে যা এই স্টোরেজ অবজেক্টকে গ্রহণ করে।
এপিআই পরিবর্তন
- স্টোরেজ ব্যবহার করতে ডেটাস্টোর-কোর
MultiProcessDataStoreFactory
APIগুলি পরিবর্তন করুন। ( Iac02f ) - ডেটাস্টোর-মাল্টিপ্রসেসে সর্বজনীন APIগুলিকে ডেটাস্টোর-কোরে ( I76d7c ) সরান
- ডেটাস্টোর-প্রেফারেন্স-কোর ( I4b788 ) থেকে প্রকাশিত
PreferencesSerializer
সংস্করণ 1.0.0
সংস্করণ 1.0.0
4 আগস্ট, 2021
androidx.datastore:datastore-*:1.0.0
প্রকাশিত হয়েছে। সংস্করণ 1.0.0 এই কমিট ধারণ করে.
1.0.0 এর প্রধান বৈশিষ্ট্য
জেটপ্যাক ডেটাস্টোর হল একটি ডেটা স্টোরেজ সমাধান যা আপনাকে প্রোটোকল বাফারগুলির সাথে কী-মানের জোড়া বা টাইপ করা বস্তু সংরক্ষণ করতে দেয়। ডেটাস্টোর অ্যাসিঙ্ক্রোনাস, ধারাবাহিকভাবে এবং লেনদেনগতভাবে ডেটা সঞ্চয় করতে Kotlin coroutines এবং Flow ব্যবহার করে।
সংস্করণ 1.0.0-rc02
জুলাই 21, 2021
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
16 জুন, 2021
androidx.datastore:datastore-*:1.0.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
ClassVerificationFailure
ঠিক করুন ( b/187450483 )
সংস্করণ 1.0.0-beta01
21 এপ্রিল, 2021
androidx.datastore:datastore-*:1.0.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- শুধুমাত্র কোটলিন পদ্ধতির জন্য JVM ওভারলোডগুলি সরান ( I2adc7 )
বাগ ফিক্স
- একটি বাগ সংশোধন করা হয়েছে যেখানে ডেটাস্টোর প্রতিনিধিদের প্রসঙ্গ ফাঁস হতে পারে ( Ie96fc , b/184415662 )
সংস্করণ 1.0.0-alpha08
10 মার্চ, 2021
androidx.datastore:datastore-*:1.0.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- আপনি এখন একটি মাইগ্রেশন যোগ করতে পারেন যা আপনার
dataStore
এবংpreferencesDataStore
সম্পত্তি প্রতিনিধির প্রসঙ্গে নির্ভর করে। ( I4ef69 , b/173726702 ) - আপনি যদি আর ডেটাস্টোর প্রতিনিধি বা context.createDataStore ( I60f9a ) ব্যবহার না করেন তাহলে ফাইলের নাম পেতে সহায়ক ফাংশন যোগ করে
- সিরিয়ালাইজার writeTo এবং readFrom এখন স্থগিত করা হচ্ছে। আপনি যদি একটি সিরিয়ালাইজার প্রয়োগ করে থাকেন, তাহলে আপনাকে ফাংশন সাসপেন্ড করার জন্য আপনার ফাংশন আপডেট করতে হবে। ( I1e58e )
- RxDataStore ব্যবহারকারীদের জন্য সম্পত্তি প্রতিনিধি যোগ করা হয়েছে। ( Ied768 , b/173726702 )
বাগ ফিক্স
- পরীক্ষামূলক API ( I6aa29 , b/174531520 ) এর সর্বজনীন ব্যবহারের উপর বিধিনিষেধ প্রয়োগ করুন
সংস্করণ 1.0.0-alpha07
24 ফেব্রুয়ারি, 2021
androidx.datastore:datastore-*:1.0.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
Context.createDataStore
এক্সটেনশন ফাংশন সরানো হয়েছে এবং GlobalDataStore সম্পত্তি প্রতিনিধি দিয়ে প্রতিস্থাপিত হয়েছে। আপনার কোটলিন ফাইলের শীর্ষ স্তরে একবার গ্লোবালডেটাস্টোরে কল করুন। যেমন:val Context.myDataStore by dataStore(...)
এটিকে আপনার কটলিন ফাইলের শীর্ষ স্তরে রাখুন যাতে এটির একটি মাত্র উদাহরণ থাকে। ( I57215 , b/173726702 )
RxDataStore ফাংশনগুলি এখন ডেটাস্টোরে এক্সটেনশন ফাংশনের পরিবর্তে একটি RxDataStore ক্লাসে রয়েছে। ( আইডিসিসিডিবি , বি/177691248 )
আপনি যদি ডেটাস্টোরে EncryptedSharedPreferences (বা সরাসরি বুট SharedPreferences) স্থানান্তর করতে চান তবে আপনি এখন নতুন SharedPreferencesMigration কনস্ট্রাক্টরের সাথে এটি করতে পারেন যা আপনাকে SharedPreferences ইনজেক্ট করতে দেয়। ( I8e04e , b/177278510 )
বাগ ফিক্স
- একই ফাইলের জন্য একাধিক সক্রিয় ডেটাস্টোর থাকলে ডেটাস্টোর এখন একটি ব্যতিক্রম নিক্ষেপ করবে। আপনি যদি আপনার ডেটাস্টোরকে সিঙ্গেলটন হিসাবে পরিচালনা না করেন বা নিশ্চিত না হন যে ডেটাস্টোরের কোনও দুটি দৃষ্টান্ত একই সাথে একটি ফাইলের জন্য সক্রিয় না হয় তবে আপনি এখন ডেটাস্টোরে পড়ার বা লেখার সময় ব্যতিক্রম দেখতে পারেন। সিঙ্গেলটন হিসাবে আপনার ডেটাস্টোর পরিচালনা করে এগুলি ঠিক করা যেতে পারে। ( Ib43f4 , b/177691248 )
- কলার স্কোপ বাতিল হলে বাতিলকরণ আচরণ ঠিক করুন। ( I2c7b3 )
সংস্করণ 1.0.0-alpha06
13 জানুয়ারী, 2021
androidx.datastore:datastore-*:1.0.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- ডেটাস্টোরের জন্য RxJava র্যাপার যোগ করা হয়েছে।
datastore-rxjava2/3
আর্টিফ্যাক্টগুলিতে মূল ডেটাস্টোর API (RxDataStore
,RxDataStoreBuilder
, এবংRxDataMigration
) এর র্যাপার রয়েছে।datastore-preferences-rxjava2/3
আর্টিফ্যাক্টে একটি প্রেফারেন্স ডেটাস্টোর নির্মাণের জন্য একজন নির্মাতা থাকে।
এপিআই পরিবর্তন
- CorruptionHandler ইন্টারফেস লুকান। এটি সর্বজনীন হওয়ার কোন কারণ ছিল না কারণ DataStore কারখানা শুধুমাত্র একটি ReplaceFile CorruptionHandler গ্রহণ করে। ( I0b3b3 , b/176032264 )
-
preferencesKey<T>(name: String): Key<T>
পদ্ধতিটি সরানো হয়েছে এবং প্রতিটি সমর্থিত ধরণের নির্দিষ্ট পদ্ধতির সাথে প্রতিস্থাপিত হয়েছে, উদাহরণস্বরূপpreferencesKey<Int>("int")
এখনintPreferencesKey("int")
( Ibcfac , b/170311106 )
বাগ ফিক্স
- ডেটাস্টোর ফ্যাক্টরিতে ডকুমেন্টেশন ঠিক করে যা ডেটাস্টোর ফাইলটি "ডেটাস্টোর/" সাবডিরেক্টরিতে তৈরি করা হয়েছে তা ছেড়ে দেয়। ( Ica222 )
সংস্করণ 1.0.0-alpha05
2 ডিসেম্বর, 2020
androidx.datastore:datastore-*:1.0.0-alpha05
প্রকাশিত হয়েছে। 1.0.0-alpha05 সংস্করণে এই কমিট রয়েছে।
বাগ ফিক্স
- ডেটাস্টোর থেকে সমসাময়িক লেখার চারপাশে আরও ভাল ডকুমেন্টেশন এবং ব্যতিক্রম যোগ করুন। ( IA98a2 , b/173522155 , b/173726702 )
- আমরা এখন
Serializer.writeTo()
এ পাস করা আউটপুট স্ট্রীমকে বন্ধ করার অনুমতি দিই (কিন্তু প্রয়োজন নেই)। ( I5c9bf , b/173037611 )
সংস্করণ 1.0.0-alpha04
নভেম্বর 17, 2020
androidx.datastore:datastore-*:1.0.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।
বাগ ফিক্স
- একটি প্যাকেজিং সমস্যা সমাধান করা হয়েছে যা পছন্দ ডেটাস্টোর
1.0.0-alpha03
এ নিম্নলিখিত ক্র্যাশের কারণ :java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/datastore/preferences
- ক্র্যাশটি মূলত এখানে রিপোর্ট করা হয়েছে: b/173036843
- ( I4712d , b/173036843 )
সংস্করণ 1.0.0-alpha03
11 নভেম্বর, 2020
androidx.datastore:datastore-*:1.0.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- পছন্দগুলি এখন দ্বিগুণ মান সমর্থন করে (যা আপনার যদি ফ্লোটগুলির চেয়ে আরও নির্ভুলতার প্রয়োজন হয় তবে এটি কার্যকর) ( I5be8f , b/169471808 )
এপিআই পরিবর্তন
- দ্রুত সংকলনের জন্য ডেটাস্টোরের জন্য একটি বিশুদ্ধ কোটলিন নির্ভরতা তৈরি করা হয়েছে।
androidx.datastore:datastore-core
শুধুমাত্র কোর কোটলিন APIs রয়েছে এবংandroidx.datastore:datastore
এমন API রয়েছে যা android-এর উপর নির্ভর করে (SharedPreferencesMigration
এবংContext.createDataStore
কনস্ট্রাক্টর সহ।)( I42d75 , b/68821 ) - দ্রুত কোটলিন সংকলনের জন্য পছন্দের ডেটা স্টোরের লক্ষ্যগুলি বিভক্ত করা ( Ia3c19 )
সিরিয়ালাইজারদের এখন ডিফল্ট মানের জন্য একটি নতুন বৈশিষ্ট্য প্রয়োজন যা ডিস্কে কোনো ডেটা না থাকলে ব্যবহার করা হবে। এটি কাস্টম সিরিয়ালাইজারগুলিকে প্রয়োগ করা সহজ করে তোলে যাতে ব্যবহারকারীদের বিশেষ ক্ষেত্রে খালি ইনপুট স্ট্রীমগুলির প্রয়োজন হয় না (খালি ইনপুট স্ট্রীমগুলি json এর সাথে পার্স হয় না)।
- এছাড়াও এখন এটি নিশ্চিত করার জন্য একটি চেক রয়েছে যে writeTo() এ প্রদত্ত আউটপুট স্ট্রীম বন্ধ নয়, এবং যদি এটি বন্ধ থাকে তবে এটি ব্যতিক্রমগুলি নিক্ষেপ করে ( I16e29 )
SharedPreferencesView অভ্যন্তরীণ জন্য কনস্ট্রাক্টর তৈরি করা হচ্ছে। এটি মূলত পরীক্ষার জন্য অনুমতি দেওয়ার জন্য সর্বজনীন ছিল। টেস্টের পরিবর্তে একটি SharedPreferencesMigration তৈরি করা উচিত এবং এর বিরুদ্ধে পরীক্ষা করা উচিত। ( I93891 )
বাগ ফিক্স
-
DataStoreFactory
এবংPreferenceDataStoreFactory
এproduceFile
প্যারামিটারটি এখন তালিকার শেষ প্যারামিটার তাই এটি আপনাকে কটলিন ট্রেইলিং ল্যাম্বডা সিনট্যাক্স ব্যবহার করতে দেয়। ( Ibe7f1 , b/169425442 ) - kotlin ( I5ae1e ) এর জন্য নতুন সুস্পষ্ট API প্রয়োজনীয়তা অনুসরণ করে
পরিচিত সমস্যা
-
java.lang.NoClassDefFoundError
এর সাথে পছন্দের ডেটাস্টোর ক্র্যাশ হয়। ( b/173036843 )
সংস্করণ 1.0.0-alpha02
অক্টোবর 14, 2020
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
2শে সেপ্টেম্বর, 2020
androidx.datastore:datastore-core:1.0.0-alpha01
এবং androidx.datastore:datastore-preferences:1.0.0-alpha01
প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
Jetpack DataStore হল একটি নতুন এবং উন্নত ডেটা স্টোরেজ সমাধান যার লক্ষ্য SharedPreferences প্রতিস্থাপন করা। Kotlin coroutines এবং Flow এর উপর নির্মিত, DataStore দুটি ভিন্ন বাস্তবায়ন প্রদান করে:
- প্রোটো ডেটাস্টোর, যা আপনাকে টাইপ করা বস্তু সংরক্ষণ করতে দেয় ( প্রটোকল বাফার দ্বারা সমর্থিত)
- পছন্দসমূহ ডেটাস্টোর, যা কী-মান জোড়া সঞ্চয় করে
শেয়ার্ডপ্রেফারেন্সের বেশিরভাগ ত্রুটি কাটিয়ে ডেটা অ্যাসিঙ্ক্রোনাস, ধারাবাহিকভাবে এবং লেনদেনভাবে সংরক্ষণ করা হয়।