i've been using jetpack datastore for a while, but then i got a problem. I want to clear data in datastore when the app is destroyed. Im using jetpack datastore to persist data only in form
i've searched that sharedPreferences has a clear() function, is there a similar function for Jetpack Datastore ? and how can i use it ?
i found clear function in datastore documentation but there is no explanation on how to use it
If you want to delete a specific key then try this
dataStore.edit {
if (it.contains(key)) {
it.remove(key)
}
}
Use this
dataStore.edit {
it.clear()
}
Method description states
Removes all preferences from this MutablePreferences.
For Proto DataStore you can do:
dataStore.updateData { it.getDefaultInstance() }
It doesn't delete the file, but it's effectively the same.
Try this (for Proto DataStore):
dataStore.updateData { obj ->
obj.toBuilder()
.clear()
.build()
}
In case anyone wants to know how to remove a specific preference
context.dataStore.edit {
it.remove(key)
}