Redeem Now
Read More
Read now

Preferences DataStore


This is time to say bye bye to SharePreferences. Jetpack DataStore is new solution to store data. It is replacement of SharePreferences. Preferences DataStore is one way of DataStore to save data.

In share preference, we can only save data in key-value. It allows us to store data in key-value pair and in form of object as well.

It saves data using Async Api and it builds with coroutines and flow.


DataStore provides two different implementations :

  1. Preferences DataStore : It stored data in key-value pair.
  2. Proto DataStore : It stores a custom data type. We need to define a scheme using protocol buffers.

In this blog, we will cover Preferences DataStore only.


Add Dependency

Create a Preference DataStore

Now, create a instance of datastore. It will create a file name as “MyDataStore”.

createDataStore” is a extension function created on Context.  Method will return DataStore instance.

Create Key for Data

To save the data, first we need to create a key for our value.

This will define the name of key and it’s type.

If you wanna save int value, you will have to use ‘intPreferencesKey‘.

Write Data

edit‘ method is used to save data in DataStore. It is suspend function. It should be called by either coroutines or another suspend function.

Call a suspend function :

We use Global scope to create coroutines.

Check following link for kotlin coroutines : Kotlin Coroutines

Read Data 

DataStores provides data property to expose the value.

We create string type flow object.

Flow :

To learn more about flow, check following link : Kotlin Flow

Hopefully, this blog will be helpful for you.

. . .


Add Your Comment

Be the first to comment.

Hire Us!
Brief us about your requirements and we'll get back to you.
Woo! Hooy!
We have just recieved your project brief and our expert will contact you shortly.
Send Again