Ali Elahi
Ali Elahi
خواندن ۱ دقیقه·۴ ماه پیش

مروری بر ذخیره‌سازی داده‌ها در DataStorePreferences در اندروید

در انروید DataStorePreferences یک راه‌حل جدید و مدرن برای ذخیره‌سازی داده‌ها است که به عنوان جایگزینی برای SharedPreferences معرفی شده است. در این روش انعطاف پذیری بیشتری نسبت به SharedPreference وجود دارد ، از جمله پشتیبانی از Coroutines و Flow .


چرا باید از DataStorePreference به جای SharedPreference استفاده کنیم

  1. متدهایی که در اختیار ما قرار می دهد از Coroutines و Flow پشتیبانی می کند. ( Asynchronous API )
  2. بهینه شدن عملیات های I/O
  3. مهاجرت ( Migration ) آسان از SharedPreference به DataStorePreference



  1. پیش نیاز استفاده از DataStorePreference :

ابتدا باید در فایل build.gradle پیشنیاز زیر را وارد کنید

https://virgool.io/d/b3i3xguezn1y/implementation(

2 . ساخت یک object از DataStore :

https://gist.github.com/aliElahi/d2d0e1af9d310bc231c6271fce107382#file-createdatastorepreferenceobject-kt


3. ساختن کلید :

در این مرحله باید کلید هایی برای ذخیره سازی اطلاعات درست کنیم . برای هر دیتای مورد نظر یک کلید متفاوت نیاز هست

https://gist.github.com/aliElahi/0886e90bc612974631168164182db766#file-createkeypreferences-kt


4. نحوه ذخیره سازی اطلاعات در DataStorePreference :

برای ذخیره اطلاعات در DataStorePreference باید از متد ()edit استفاده کرد.

https://gist.github.com/aliElahi/e2e2f2b61517376824605615a3eab56b#file-storedataindatastorepreferences-kt


5. نحوه خواندن اطلاعات از DataStorePreference :

برای خواندن اطلاعات از DataStorePreference باید از data property که یک Flow برمی گرداند استفاده کرد

https://gist.github.com/aliElahi/a33fd57b2c5442909eac04784b09844f#file-getdatafromdatastorepreference-kt

اگر بخواهیم از DataStorePreference به صورت observable استفاده کرد . می توان از کد زیر استفاده کرد

https://gist.github.com/aliElahi/8c9a937b8cecb8cdb2bb7224b93ff40e#file-observedatafromdatastorepreference-kt




ذخیره‌سازی داده‌هااطلاعات datastorepreferenceاندرویدandroidJetpack DataStore
Android developer
شاید از این پست‌ها خوشتان بیاید