DataStore
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
1 مه 2024 | 1.1.1 | - | - | - |
اعلام وابستگی ها
برای افزودن وابستگی به DataStore، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.
دو پیاده سازی DataStore وجود دارد: Preferences و Proto . یکی یا دیگری را انتخاب کنید. همچنین میتوانید وابستگیهای بدون اندروید را به هر دو پیادهسازی اضافه کنید.
وابستگی های پیاده سازی مورد نیاز خود را در فایل 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") }
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.1
نسخه 1.1.1
1 مه 2024
androidx.datastore:datastore-*:1.1.1
منتشر شد. نسخه 1.1.1 حاوی این commit ها است.
رفع اشکال
- هشدار نادرست لینوکس کاهش یافته در مورد خطای "بن بست منابع رخ می دهد" در یک مورد گوشه ای چندین نمونه
DataStore
سعی می کنند با پشتیبان گیری از قفل فایل، از فرآیندهای مختلف بنویسند.
نسخه 1.1.0
17 آوریل 2024
androidx.datastore:datastore-*:1.1.0
منتشر شد. نسخه 1.1.0 حاوی این تعهدات است.
تغییرات عمده از زمان انتشار 1.0.0
لطفاً یادداشتهای انتشار نسخههای آلفا و بتا 1.1.0 را برای اطلاعات بیشتر مرور کنید. برخی از به روز رسانی های اصلی 1.1.0 عبارتند از:
- DataStore اکنون از چندین فرآیند برای دسترسی به یک فایل با پشتیبانی از قابلیت مشاهده در بین فرآیندها پشتیبانی می کند.
- رابط Storage جدید به شما امکان می دهد نحوه ذخیره یا سریال سازی مدل های داده خود را سفارشی کنید.
- اکنون می توانید از DataStore در پروژه های چند پلتفرمی Kotlin استفاده کنید.
نسخه 1.1.0-rc01
3 آوریل 2024
androidx.datastore:datastore-*:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
رفع اشکال
- در صورتی که دادههای جدید با دادههای قدیمی یکسان باشد، کاهش عملکرد را در مواردی که تماسهای
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 ) - اگر
DataStore
ساخته شده در حین مهاجرت نتواندSharedPreferences
حذف کند، دیگرIOExceptions
پرتاب نمی کند. ( b/195553816 ) - مشکل تغییر نام فایل در حین
updateData
در محیط های غیر اندروید JVM برطرف شد. ( b/203087070 ) - مشکل عدم رسیدگی به
CorruptionException
پس از مقداردهی اولیهDataStore
برطرف شد. ( 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 حاوی این commit ها است.
تغییرات API
- روش های
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 حاوی این commit ها است.
تغییرات API
- متد کارخانه
createSingleProcessCoordinator
اکنون یک مسیر فایل (String
،java.io.File
وokio.Path
) را دریافت می کند تا باcreateMultiProcessCoordinator
سازگار باشد. ( I211c8 , b/305755935 )
نسخه 1.1.0-alpha05
6 سپتامبر 2023
androidx.datastore:datastore-*:1.1.0-alpha05
منتشر شد. نسخه 1.1.0-alpha05 حاوی این commit ها است.
تغییرات API
- Datastore
FileStorage
اکنون به صورت عمومی در دسترس است، بنابراین مشتریان می توانند پارامترهای سفارشی را ارائه دهند. ( ICB985 ) - سازنده
OkioStorage
را برای پذیرشInterProcessCoordinator
تغییر داد تا بتوان از آن در Android باMultiProcessCoordinator
استفاده کرد. ( Iecea3 )
رفع اشکال
- رفع
MultiProcessCoordinator
قادر به نظارت بر چندین فایل در یک فهرست نیست. - در صورت عادی نبودن مسیرهای فایل، رفع عدم امکان شناسایی فایل های تکراری.
- مقادیر اشتباه برگشتی از
RxDataStore#isDisposed
را برطرف کنید. - تنظیمات پیشفرض گمشده را برای
datstore-preferences-core
برطرف کنید.
نسخه 1.1.0-alpha04
5 آوریل 2023
androidx.datastore:datastore-*:1.1.0-alpha04
منتشر شد. نسخه 1.1.0-alpha04 حاوی این commit ها است.
رفع اشکال
- برای جلوگیری از شرایط مسابقه ای که در آن جریان داده های
DataStore
ممکن است پس از به روز رسانی مقدار قدیمی تری منتشر کند، پیاده سازی داخلی را بهبود دهید.
نسخه 1.1.0-alpha03
24 مارس 2023
androidx.datastore:datastore-*:1.1.0-alpha03
منتشر شد.
رفع اشکال
- محدودیتهای وابستگی را از مصنوعات Maven حذف کرد تا مشکل ساخت را در Kotlin Native Targets حل کند ( b/274786186 ، KT-57531 ).
نسخه 1.1.0-alpha02
22 مارس 2023
androidx.datastore:datastore-*:1.1.0-alpha02
منتشر شد. نسخه 1.1.0-alpha02 حاوی این commit ها است.
توجه داشته باشید
توجه داشته باشید که این نسخه شامل یک Refactor داخلی مهم است که پیادهسازیها را برای پیادهسازی DataStore تک فرآیندی و چند فرآیندی ادغام میکند. لطفاً مراقب تغییرات رفتاری ناخواسته احتمالی (مثلاً زمانبندی اعلانهای بهروزرسانی) باشید. میتوانید از مؤلفه ردیاب مشکل برای گزارش چنین تغییراتی استفاده کنید.
ویژگی های جدید
- اکنون می توانید
DataStore
در پروژه های KMM استفاده کنید. توجه داشته باشید که اهداف غیر اندرویدی DataStore هنوز آزمایشی هستند، اما ما تصمیم گرفتیم نسخهها را ادغام کنیم تا توسعهدهندگان بتوانند آنها را آسانتر امتحان کنند. - ویژگیهای چند فرآیندی از
androidx.datastore.multiprocess
بهandroidx.datastore.core
منتقل میشوند. - یک روش کارخانه جدید در
androidx.datastore.core.MultiProcessDataStoreFactory
اضافه کنید تا نمونه های DataStore با اشیاءStorage
برای عملیات فایل ایجاد کنید. - یک
InterProcessCoordinator
جدید اضافه کنید که به چندین نمونه DataStore کمک می کند تا در بین فرآیندها ارتباط برقرار کنند. توجه داشته باشید که اجرای Multi-ProcessInterProcessCoordinator
فقط در اندروید موجود است.
تغییرات API
- افزودن
InterProcessCoordinator
بهStorageConnection
در رابط datastore-core ( I555bb ) - API ها را در datastore-core
MultiProcessDataStoreFactory
برای استفاده از Storage تغییر دهید. ( Iac02f ) - انتقال APIهای عمومی در datastore-multiprocess به datastore-core ( I76d7c )
- Exposed
PreferencesSerializer
از datastore-preferences-core ( I4b788 ) - افزودن حاشیه نویسی
@JvmDefaultWithCompatibility
( I8f206 )
نسخه 1.1.0-alpha01
9 نوامبر 2022
androidx.datastore:datastore-*:1.1.0-alpha01
منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- از موارد استفاده چند فرآیندی پشتیبانی کنید که در آن سازگاری داده ها در بین نمونه های
DataStore
در سراسر فرآیندها تضمین شده است. برای ایجاد چنین نمونه هاییDataStore
MultiProcessDataStoreFactory#create
اضافه کنید. - رابط فضای ذخیره سازی جدید که اجازه می دهد مکانیسم ذخیره سازی اساسی برای
Datastore
خاموش شود. پیاده سازی برای java.io و okio ارائه شده است. کارخانه هایDataStore
روش های جدیدی دارند که این شی Storage را می پذیرند.
تغییرات API
- API ها را در datastore-core
MultiProcessDataStoreFactory
برای استفاده از Storage تغییر دهید. ( Iac02f ) - انتقال APIهای عمومی در datastore-multiprocess به datastore-core ( I76d7c )
- Exposed
PreferencesSerializer
از datastore-preferences-core ( I4b788 )
نسخه 1.0.0
نسخه 1.0.0
4 آگوست 2021
androidx.datastore:datastore-*:1.0.0
منتشر شد. نسخه 1.0.0 حاوی این commit ها است.
ویژگی های اصلی 1.0.0
Jetpack DataStore یک راه حل ذخیره سازی داده است که به شما امکان می دهد جفت های کلید-مقدار یا اشیاء تایپ شده را با بافرهای پروتکل ذخیره کنید. DataStore از کوروتین های Kotlin و Flow برای ذخیره داده ها به صورت ناهمزمان، پیوسته و تراکنش استفاده می کند.
نسخه 1.0.0-rc02
21 جولای 2021
androidx.datastore:datastore-*:1.0.0-rc02
منتشر شد. نسخه 1.0.0-rc02 حاوی این commit ها است.
رفع اشکال
- روشن کنید که
SharedPreferencesMigration
در صورت نبود کلید اجرا نمی شود. ( Icfa32 , b/192824325 ) - رفع اشکال که در آن
SharedPreferencesMigration
ساخته شده باMIGRATE_ALL_KEYS
در صورتی که کلید درخواستی هنوز وجود نداشته باشد، یک استثنا ایجاد می کند. ( Ie318a , b/192824325 )
نسخه 1.0.0-rc01
30 ژوئن 2021
androidx.datastore:datastore-*:1.0.0-rc01
منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است.
رفع اشکال
- رفع اشکالی که فایل java. به طور ناخواسته به jar نهایی اضافه شده است ( 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 حاوی این تعهدات است.
تغییرات API
- حذف اضافه بارهای JVM برای روش های فقط کاتلین ( I2adc7 )
رفع اشکال
- رفع اشکالی که در آن نمایندگان دادههای ذخیرهسازی میتوانند منجر به نشت زمینهها شوند ( Ie96fc , b/184415662 )
نسخه 1.0.0-alpha08
10 مارس 2021
androidx.datastore:datastore-*:1.0.0-alpha08
منتشر شد. نسخه 1.0.0-alpha08 حاوی این commit ها است.
تغییرات API
- اکنون میتوانید یک انتقال که بستگی به زمینه دارد را به
dataStore
وpreferencesDataStore
نمایندگی خود اضافه کنید. ( I4ef69 , b/173726702 ) - اگر دیگر از datastore delegate یا context.createDataStore ( I60f9a ) استفاده نمی کنید، توابع کمکی را برای دریافت نام فایل اضافه می کند.
- Serializer 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 حاوی این commit ها است.
تغییرات API
تابع پسوند
Context.createDataStore
حذف شده است و با نماینده ویژگی globalDataStore جایگزین شده است. یک بار با globalDataStore در بالاترین سطح فایل kotlin خود تماس بگیرید. به عنوان مثال:val Context.myDataStore by dataStore(...)
این را در سطح بالای فایل کاتلین خود قرار دهید تا فقط یک نمونه از آن وجود داشته باشد. ( I57215 , b/173726702 )
توابع RxDataStore اکنون به جای توابع افزونه در DataStore در کلاس RxDataStore قرار دارند. ( IDccdb , b/177691248 )
اگر میخواهید EncryptedSharedPreferences (یا SharedPreferences را مستقیماً بوت کنید) به DataStore منتقل کنید، اکنون میتوانید این کار را با سازنده SharedPreferencesMigration جدید انجام دهید که به شما امکان تزریق SharedPreferences را میدهد. ( I8e04e , b/177278510 )
رفع اشکال
- اگر چندین DataStore فعال برای یک فایل وجود داشته باشد، اکنون DataStore یک استثنا ایجاد می کند. اگر DataStore خود را بهعنوان Singleton مدیریت نمیکردید یا اطمینان نمیدادید که هیچ دو نمونه از DataStore به طور همزمان برای یک فایل فعال نیستند، اکنون ممکن است در هنگام خواندن یا نوشتن در DataStore استثناهایی را مشاهده کنید. این موارد را می توان با مدیریت DataStore خود به عنوان Singleton برطرف کرد. ( Ib43f4 , b/177691248 )
- هنگامی که محدوده تماس گیرنده لغو می شود، رفتار لغو را برطرف کنید. ( I2c7b3 )
نسخه 1.0.0-alpha06
13 ژانویه 2021
androidx.datastore:datastore-*:1.0.0-alpha06
منتشر شد. نسخه 1.0.0-alpha06 حاوی این commit ها است.
ویژگی های جدید
- بستهبندیهای RxJava برای DataStore اضافه شد. آرتیفکتهای
datastore-rxjava2/3
حاوی بستهبندیهایی برای APIهای اصلی DataStore (RxDataStore
،RxDataStoreBuilder
، وRxDataMigration
) هستند. آرتیفکت هایdatastore-preferences-rxjava2/3
حاوی سازنده ای برای ساخت Preferences DataStore هستند.
تغییرات API
- رابط CorruptionHandler را مخفی کنید. دلیلی برای عمومی شدن آن وجود نداشت زیرا کارخانه DataStore فقط ReplaceFileCorruptionHandler را می پذیرد. ( I0b3b3 , b/176032264 )
- روش
preferencesKey<T>(name: String): Key<T>
حذف شده و با متدهای خاص برای هر نوع پشتیبانی شده جایگزین شده است، برای مثالpreferencesKey<Int>("int")
اکنونintPreferencesKey("int")
است ( Ibcfac , b/170311106 )
رفع اشکال
- اسناد موجود در DataStoreFactory را برطرف می کند که این واقعیت را نادیده می گیرد که فایل datastore در زیر شاخه "datastore/" ایجاد شده است. ( ICA222 )
نسخه 1.0.0-alpha05
2 دسامبر 2020
androidx.datastore:datastore-*:1.0.0-alpha05
منتشر شد. نسخه 1.0.0-alpha05 حاوی این commit ها است.
رفع اشکال
- اسناد و استثنائات بهتری را در مورد نوشتن همزمان از دیتا استورها اضافه کنید. ( Ia98a2 , b/173522155 , b/173726702 )
- اکنون اجازه می دهیم (اما نیازی نیست) OutputStream ارسال شده به
Serializer.writeTo()
بسته شود. ( I5c9bf , b/173037611 )
نسخه 1.0.0-alpha04
17 نوامبر 2020
androidx.datastore:datastore-*:1.0.0-alpha04
منتشر شد. نسخه 1.0.0-alpha04 حاوی این commit ها است.
رفع اشکال
- رفع مشکل بستهبندی که باعث خرابی زیر در Preference Datastore
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 حاوی این commit ها است.
ویژگی های جدید
- Preferences اکنون از مقادیر دوگانه پشتیبانی می کند (که اگر به دقت بیشتری نسبت به شناورها نیاز دارید مفید است) ( I5be8f ، b/169471808 )
تغییرات API
- یک وابستگی کاتلین خالص برای datastore ایجاد کرد تا امکان کامپایل سریعتر را فراهم کند.
androidx.datastore:datastore-core
حاوی هسته Kotlin فقط APIها وandroidx.datastore:datastore
شامل APIهایی است که به اندروید وابسته هستند (از جملهSharedPreferencesMigration
و سازندهContext.createDataStore
.) ( I42d75 , b/1698 ) - تقسیم اهداف برای ذخیره داده های ترجیحی برای کامپایل سریعتر کاتلین ( Ia3c19 )
سریالسازها اکنون به یک ویژگی جدید برای مقدار پیشفرض نیاز دارند که اگر دادهای روی دیسک وجود نداشته باشد، استفاده میشود. این امر اجرای سریالسازهای سفارشی را آسانتر میکند تا کاربران مجبور نباشند جریانهای ورودی را با حروف خاص خالی کنند (جریانهای ورودی خالی با json تجزیه نمیشوند).
- همچنین اکنون یک بررسی وجود دارد تا تأیید کند که جریان خروجی ارائه شده به writeTo() بسته نیست، و اگر بسته باشد، استثناها را ایجاد می کند ( I16e29 )
ساخت سازنده برای SharedPreferencesView داخلی. در ابتدا عمومی بود تا امکان آزمایش فراهم شود. در عوض، تست ها باید یک SharedPreferencesMigration بسازند و در مقابل آن تست کنند. ( I93891 )
رفع اشکال
- پارامتر
produceFile
درDataStoreFactory
وPreferenceDataStoreFactory
اکنون آخرین پارامتر در لیست است، بنابراین به شما امکان می دهد از دستور لامبدای انتهایی kotlin استفاده کنید. ( Ibe7f1 , b/169425442 ) - پیروی از الزامات جدید API صریح برای kotlin ( I5ae1e )
مسائل شناخته شده
- Preference Datastore با
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 حاوی این commit ها است.
رفع اشکال
- یک محافظ در برابر جهش در datastore-core اضافه شده است. جهش استفاده از دیتا استور را برای افرادی که از دیتا استور با انواع غیرپرتو/غیر ترجیحی استفاده میکنند، قطع میکند ( I6aa84 )
- یک متد
toString
به Preferences.kt اضافه کرد تا اشکال زدایی وضعیت فعلی را آسان کند ( 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 حاوی این commit ها است.
ویژگی های جدید
Jetpack DataStore یک راه حل جدید و بهبود یافته ذخیره سازی داده است که هدف آن جایگزینی SharedPreferences است. DataStore که بر اساس Kotlin coroutines و Flow ساخته شده است، دو پیاده سازی متفاوت را ارائه می دهد:
- Proto DataStore، که به شما امکان می دهد اشیاء تایپ شده را ذخیره کنید (با پشتیبانی بافرهای پروتکل )
- Preferences DataStore، که جفت های کلید-مقدار را ذخیره می کند
داده ها به صورت ناهمزمان، پیوسته و به صورت تراکنشی ذخیره می شوند و بر اکثر اشکالات SharedPreferences غلبه می کنند.