Introduzione a Jetpack DataStore
In questo articolo impareremo a conoscere DataStore, la nuova soluzione di archiviazione dati di Android Jetpack.
Android ha infatti introdotto una nuova libreria alla sua collezione di strumenti di Jetpack, chiamata “DataStore”. Questa libreria ha lo scopo di fornire un’alternativa alla storica API, che si è usata fino ad oggi per il salvataggio delle preferenze su Android: le SharedPreferences.
Questa nuova libreria è stata scritta in Kotlin e col supporto delle Coroutines e Flow per tutti i task asincroni. DataStore offre quindi due implementazioni differenti: Proto DataStore, che permette di salvare oggetti tipizzati (tramite i protocol buffers) e Preferences DataStore, che permette di salvare elementi chiave-valore (come le attuali SharedPreferences). I dati sono salvati in maniera asincrona, consistente e tramite transazioni, scongiurando gran parte dei “contro” che avevano le SharedPreferences.
DataStore offre, inoltre, l’oggetto SharedPreferencesMigration, che permette di effettuare la migrazione dalle vecchie SharedPreferences a DataStore. Si noti che la libreria è stata pensata come un sostituto delle SharedPreferences: non è dunque da considerarsi una libreria adatta allo storage di grandi quantità di dati, per quello è consigliabile utilizzare Room.
Fonte: android-developers.googleblog.com