Android Jetpack DataStore

Ali Göktaş
2 min readDec 20, 2021

Merhaba,

Bu yazımda sizlere Android Jetpack ile gelen yeni bir veri depolama çözümü olan DataStore’dan bahsedeceğim.

Android Jetpack ile birlikte daha rahat kod yazabilmemizi sağlayan birçok library hayatımıza girdi. Bunlardan biri ise DataStore. Shared preferences yerine kullanılabilen yeni bir veri depolama çözümüdür. 2 farklı implementasyonu var. Gelin onlar neler bir bakalım.

  • Preferences DataStore: key value ile veriyi depolar.
  • Proto DataStore: Verileri custom bir data tipinin nesnesi olarak depolar.

Bu yazımda Preferences DataStore üzerinde duracağım.

Preferences DataStore

İlk önce buradaki linkten güncel dependenciyi projemize ekliyoruz.

Şimdi ise DataStoreRepository’imizi oluşturalım.

createDataStore fonksiyonu parametre olarak bir isim alacak.

preferencesKey<String> ile kaydedilecek veri için bir key oluşturuyoruz.

kaydedilen veriyi DataStore’dan okuma işlemini readName fonksiyonu ile, DataStore’a kaydetme işlemini saveName fonksiyonu ile yapıyoruz.

Sıra ViewModel oluşturmakta.

Repository içerisindeki save ve read fonksiyonlarını çağırabileceğimiz bir VM oluşturduk.

Son olarak Main Activity işlemlerimizi yapıyoruz.

VM’yi de initialize ediyoruz.

Daha sonra name fieldini observe edip gelen değeri textviewa setliyoruz. Böylece SharedPreferences yerine DataStore ile uygulamamıza veri kaydetmiş olduk.

KAYNAKÇA:

https://www.youtube.com/watch?v=hEHVn9ATVjY

https://www.simplifiedcoding.net/jetpack-datastore-tutorial/

--

--