DataStore
Letzte Aktualisierung | Stabile Version | Release-Kandidat | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
15. Januar 2025 | 1.1.2 | - | – | - |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von DataStore hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Es gibt zwei Implementierungen von DataStore: Preferences und Proto. Wählen Sie eine der beiden Optionen aus. Sie können beiden Implementierungen auch Android-unabhängige Abhängigkeiten hinzufügen.
Fügen Sie der build.gradle
-Datei Ihrer App oder Ihres Moduls die erforderlichen Abhängigkeiten für die Implementierung hinzu:
DataStore für Einstellungen
Groovy
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation "androidx.datastore:datastore-preferences:1.1.2" // optional - RxJava2 support implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.2" // optional - RxJava3 support implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.2" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-preferences-core:1.1.2" }
Kotlin
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation("androidx.datastore:datastore-preferences:1.1.2") // optional - RxJava2 support implementation("androidx.datastore:datastore-preferences-rxjava2:1.1.2") // optional - RxJava3 support implementation("androidx.datastore:datastore-preferences-rxjava3:1.1.2") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-preferences-core:1.1.2") }
Proto DataStore
Groovy
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation "androidx.datastore:datastore:1.1.2" // optional - RxJava2 support implementation "androidx.datastore:datastore-rxjava2:1.1.2" // optional - RxJava3 support implementation "androidx.datastore:datastore-rxjava3:1.1.2" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-core:1.1.2" }
Kotlin
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation("androidx.datastore:datastore:1.1.2") // optional - RxJava2 support implementation("androidx.datastore:datastore-rxjava2:1.1.2") // optional - RxJava3 support implementation("androidx.datastore:datastore-rxjava3:1.1.2") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-core:1.1.2") }
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte melden Sie uns neue Probleme oder Ideen zur Verbesserung dieser Bibliothek. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.1
Version 1.1.2
15. Januar 2025
androidx.datastore:datastore-*:1.1.2
wird veröffentlicht. Version 1.1.2 enthält diese Commits.
Fehlerkorrekturen
- Die Leselatenz bei vorab geladenen Daten (
DataStore.data.first()
) wurde um das Achtfache verbessert. (22b8a40) ReplaceFileCorruptionHandler
kann aus KMP-Common Code erstellt werden. (7632e839)
Version 1.1.1
1. Mai 2024
androidx.datastore:datastore-*:1.1.1
wird veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
- Der Linux-Fehlalarm „Resource deadlock would occur“ (Es würde zu einem Ressourcen-Deadlock kommen) wurde in einem Grenzfall behoben, in dem mehrere
DataStore
-Instanzen versuchen, aus verschiedenen Prozessen zu schreiben, indem die Dateisperre aufgehoben wird.
Version 1.1.0
17. April 2024
androidx.datastore:datastore-*:1.1.0
wird veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit der Version 1.0.0
Weitere Informationen finden Sie in den Versionshinweisen der Alpha- und Betaversionen von 1.1.0. Zu den wichtigsten Updates in 1.1.0 gehören:
- DataStore unterstützt jetzt mehrere Prozesse, die auf dieselbe Datei zugreifen, und bietet prozessübergreifende Beobachtbarkeit.
- Über die neue Speicheroberfläche können Sie anpassen, wie Ihre Datenmodelle gespeichert oder serialisiert werden.
- Sie können DataStore jetzt in Kotlin-Multiplattform-Projekten verwenden.
Version 1.1.0-rc01
3. April 2024
androidx.datastore:datastore-*:1.1.0-rc01
wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Behebung der Leistungseinbußen, bei denen
updateData
-Aufrufe bei Laufwerkschreiben nicht optimiert wurden, wenn die neuen Daten mit den alten Daten identisch sind (d64cfb5) - Es wurde eine Race-Bedingung behoben, bei der
MultiProcess
DataStore
bei der Initialisierung möglicherweise ungültige Werte übersieht. ((b/326141553),(094c2dd))
Version 1.1.0-beta02
6. März 2024
androidx.datastore:datastore-*:1.1.0-beta02
wird veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Bei Leistungsverbesserungen bei
DataStore
werden nur Aktualisierungsbenachrichtigungen erfasst, wenn sie auftreten. (b/267792241)- Hinweis: Diese Änderung kann in Ihren Tests
UncompletedCoroutinesError
auslösen, wenn Sie die Coroutines-Testbibliothek verwenden. Um dieses Problem zu vermeiden, müssen SieTestScope.backgroundScope
übergeben, wenn SieDataStore
in Ihren Tests initialisieren.
- Hinweis: Diese Änderung kann in Ihren Tests
- Das Problem wurde behoben, dass verschachtelte
updateData
-Aufrufe für dieselbe Instanz zu einem Deadlock führten. (b/241760537) - Bei
DataStore
wirdIOExceptions
nicht mehr ausgegeben, wennSharedPreferences
während der Migration nicht gelöscht werden kann. (b/195553816) - Das Problem wurde behoben, dass das Umbenennen von Dateien während
updateData
in nicht Android-JVM-Umgebungen fehlgeschlagen ist. (b/203087070) - Das Problem, bei dem
CorruptionException
nach der Initialisierung vonDataStore
nicht verarbeitet wurde, wurde behoben. (b/289582516)
Version 1.1.0-beta01
10. Januar 2024
androidx.datastore:datastore-*:1.1.0-beta01
wird seit 1.1.0-alpha07
unverändert veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Version 1.1.0-alpha07
29. November 2023
androidx.datastore:datastore-*:1.1.0-alpha07
wird veröffentlicht. Version 1.1.0-alpha07 enthält diese Commits.
API-Änderungen
MultiProcessDataStoreFactory
-Methoden sind nicht mehr experimentell.Die Anmerkung@ExperimentalMultiProcessDataStore
wurde vollständig entfernt. (Ieee54, I8e607)
Fehlerkorrekturen
- Einführung der Entfernung von
@ExperimentalMultiProcessDataStore
-Anmerkungen in 1.1.0-alpha07 (I8e607)
Version 1.1.0-alpha06
1. November 2023
androidx.datastore:datastore-*:1.1.0-alpha06
wird veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
API-Änderungen
- Die
createSingleProcessCoordinator
-Factory-Methode erhält jetzt einen Dateipfad (String
,java.io.File
undokio.Path
), um mitcreateMultiProcessCoordinator
übereinzustimmen. (I211c8, b/305755935)
Version 1.1.0-alpha05
6. September 2023
androidx.datastore:datastore-*:1.1.0-alpha05
wird veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
- Der Datenspeicher
FileStorage
ist jetzt öffentlich verfügbar, sodass Kunden benutzerdefinierte Parameter angeben können. (Icb985) - Der Konstruktor von
OkioStorage
wurde so geändert, dass er eineInterProcessCoordinator
akzeptiert, damit er auf Android-Geräten mitMultiProcessCoordinator
verwendet werden kann. (Iecea3)
Fehlerkorrekturen
- Behebung des Problems, dass mehrere Dateien im selben Verzeichnis nicht überwacht werden konnten (
MultiProcessCoordinator
). - Fehler behoben, bei dem doppelte Dateien nicht erkannt werden konnten, wenn Dateipfade nicht normalisiert sind.
- Korrigieren Sie falsche Werte, die von
RxDataStore#isDisposed
zurückgegeben werden. - Fehlende ProGuard-Konfiguration für das
datstore-preferences-core
-Artefakt behoben.
Version 1.1.0-alpha04
5. April 2023
androidx.datastore:datastore-*:1.1.0-alpha04
wird veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Optimieren Sie die interne Implementierung, um eine Race-Bedingung zu vermeiden, bei der der Datenfluss von
DataStore
nach einem Update einen älteren Wert ausgeben könnte.
Version 1.1.0-alpha03
24. März 2023
androidx.datastore:datastore-*:1.1.0-alpha03
wird veröffentlicht.
Fehlerkorrekturen
- Abhängigkeitsbeschränkungen aus Maven-Artefakten wurden entfernt, um ein Build-Problem in Kotlin Native Targets zu umgehen (b/274786186, KT-57531).
Version 1.1.0-alpha02
22. März 2023
androidx.datastore:datastore-*:1.1.0-alpha02
wird veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Hinweis
Diese Version enthält eine wichtige interne Refaktorisierung, bei der die Implementierungen für DataStore-Implementierungen mit einem und mehreren Prozessen zusammengeführt werden. Bitte achten Sie auf mögliche unbeabsichtigte Verhaltensänderungen (z.B. Zeitpunkt der Benachrichtigungen zu Updates). Sie können solche Änderungen über die Problemverfolgungskomponente melden.
Neue Funktionen
- Sie können
DataStore
jetzt in KMM-Projekten verwenden. Nicht-Android-Ziele von DataStore befinden sich noch in der Testphase. Wir haben uns jedoch dazu entschieden, die Versionen zusammenzuführen, damit Entwickler sie leichter ausprobieren können. - Die Funktionen für mehrere Prozesse werden von
androidx.datastore.multiprocess
nachandroidx.datastore.core
verschoben. - Fügen Sie in
androidx.datastore.core.MultiProcessDataStoreFactory
eine neue Fabrikmethode hinzu, um DataStore-Instanzen mitStorage
-Objekten für Dateivorgänge zu erstellen. - Fügen Sie eine neue Schnittstelle
InterProcessCoordinator
hinzu, die die Kommunikation zwischen mehreren DataStore-Instanzen über Prozesse hinweg ermöglicht. Die Mehrfachprozessimplementierung vonInterProcessCoordinator
ist nur auf Android-Geräten verfügbar.
API-Änderungen
InterProcessCoordinator
in der datastore-core-Benutzeroberfläche zuStorageConnection
hinzufügen (I555bb)- Ändern Sie die APIs in datastore-core
MultiProcessDataStoreFactory
, damit sie Storage verwenden. (Iac02f) - Öffentliche APIs in datastore-multiprocess zu datastore-core verschieben (I76d7c)
PreferencesSerializer
von datastore-preferences-core (I4b788) freigegeben@JvmDefaultWithCompatibility
-Anmerkung hinzufügen (I8f206)
Version 1.1.0-alpha01
9. November 2022
androidx.datastore:datastore-*:1.1.0-alpha01
wird veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unterstützung von Anwendungsfällen mit mehreren Prozessen, bei denen die Datenkonsistenz zwischen
DataStore
-Instanzen in verschiedenen Prozessen gewährleistet ist. Fügen SieMultiProcessDataStoreFactory#create
hinzu, um solcheDataStore
-Instanzen zu erstellen. - Neue Speicheroberfläche, mit der der zugrunde liegende Speichermechanismus für
Datastore
ausgetauscht werden kann. Es werden Implementierungen für java.io und okio bereitgestellt.DataStore
-Fabriken haben neue Methoden, die dieses Speicherobjekt akzeptieren.
API-Änderungen
- Ändern Sie die APIs in datastore-core
MultiProcessDataStoreFactory
, damit sie Storage verwenden. (Iac02f) - Öffentliche APIs in datastore-multiprocess zu datastore-core verschieben (I76d7c)
PreferencesSerializer
von datastore-preferences-core (I4b788) freigegeben
Version 1.0.0
Version 1.0.0
4. August 2021
androidx.datastore:datastore-*:1.0.0
wird veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von 1.0.0
Jetpack DataStore ist eine Datenspeicherlösung, mit der Sie Schlüssel/Wert-Paare oder typisierte Objekte mit Protokoll-Buffers speichern können. DataStore verwendet Kotlin-Coroutinen und Flow, um Daten asynchron, konsistent und transaktional zu speichern.
Version 1.0.0-rc02
21. Juli 2021
androidx.datastore:datastore-*:1.0.0-rc02
wird veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Erläutern, dass
SharedPreferencesMigration
nicht ausgeführt wird, wenn keine Schlüssel vorhanden sind. (Icfa32, b/192824325) - Fehler behoben, bei dem
SharedPreferencesMigration
, das mitMIGRATE_ALL_KEYS
erstellt wurde, eine Ausnahme auslöste, wenn der angeforderte Schlüssel noch nicht vorhanden war. (Ie318a, b/192824325)
Version 1.0.0-rc01
30. Juni 2021
androidx.datastore:datastore-*:1.0.0-rc01
wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Behebt den Fehler, bei dem eine .java-Datei versehentlich in die finale JAR-Datei aufgenommen wurde (I65d96, b/188985637)
Version 1.0.0-beta02
16. Juni 2021
androidx.datastore:datastore-*:1.0.0-beta02
wird veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Fehlerbehebung bei
ClassVerificationFailure
(b/187450483)
Version 1.0.0-beta01
21. April 2021
androidx.datastore:datastore-*:1.0.0-beta01
wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
- JVM-Überladungen für nur Kotlin-Methoden entfernen (I2adc7)
Fehlerkorrekturen
- Ein Fehler wurde behoben, durch den Datenspeicher-Delegierte zu Lecks von Kontexten führen konnten (Ie96fc, b/184415662)
Version 1.0.0-alpha08
10. März 2021
androidx.datastore:datastore-*:1.0.0-alpha08
wird veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
API-Änderungen
- Sie können Ihrem Property-Delegierten für
dataStore
undpreferencesDataStore
jetzt eine kontextabhängige Migration hinzufügen. (I4ef69, b/173726702) - Es werden Hilfsfunktionen zum Abrufen des Namens der Datei hinzugefügt, wenn Sie den DataStore-Delegierten oder context.createDataStore nicht mehr verwenden (I60f9a)
- Serializer writeTo und readFrom werden jetzt angehalten. Wenn Sie einen Serializer implementiert haben, müssen Sie Ihre Funktionen zu Suspend-Funktionen aktualisieren. (I1e58e)
- Es wurden Property-Delegierte für RxDataStore-Nutzer hinzugefügt. (Ied768, b/173726702)
Fehlerkorrekturen
- Einschränkungen für die öffentliche Nutzung experimenteller APIs erzwingen (I6aa29, b/174531520)
Version 1.0.0-alpha07
24. Februar 2021
androidx.datastore:datastore-*:1.0.0-alpha07
wird veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
Die Erweiterungsfunktion
Context.createDataStore
wurde entfernt und durch den Property-Delegaten „globalDataStore“ ersetzt. Rufe „globalDataStore“ einmal auf oberster Ebene in deiner Kotlin-Datei auf. Beispiel:val Context.myDataStore by dataStore(...)
Fügen Sie diese Zeile auf der obersten Ebene Ihrer Kotlin-Datei ein, damit es nur eine Instanz davon gibt. (I57215, b/173726702)
Die RxDataStore-Funktionen befinden sich jetzt in einer RxDataStore-Klasse anstelle von Erweiterungsfunktionen in DataStore. (Idccdb, b/177691248)
Wenn Sie EncryptedSharedPreferences (oder SharedPreferences für den direkten Start) in den DataStore migrieren möchten, können Sie dies jetzt mit dem neuen SharedPreferencesMigration-Konstruktor tun, mit dem Sie die SharedPreferences einfügen können. (I8e04e, b/177278510)
Fehlerkorrekturen
- DataStore löst jetzt eine Ausnahme aus, wenn für dieselbe Datei mehrere aktive DataStores vorhanden sind. Wenn Sie Ihren DataStore nicht als Singleton verwaltet oder nicht dafür gesorgt haben, dass nicht zwei DataStore-Instanzen gleichzeitig für eine Datei aktiv sind, werden jetzt möglicherweise Ausnahmen beim Lesen oder Schreiben in den DataStore angezeigt. Diese Probleme können behoben werden, indem Sie Ihren DataStore als Singleton verwalten. (Ib43f4, b/177691248)
- Fehler beim Abbrechen des Anrufers behoben (I2c7b3)
Version 1.0.0-alpha06
13. Januar 2021
androidx.datastore:datastore-*:1.0.0-alpha06
wird veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Neue Funktionen
- RxJava-Wrapper für DataStore hinzugefügt Die
datastore-rxjava2/3
-Artefakte enthalten die Wrapper für die DataStore-Kern-APIs (RxDataStore
,RxDataStoreBuilder
undRxDataMigration
). Diedatastore-preferences-rxjava2/3
-Artefakte enthalten einen Builder zum Erstellen eines Preferences DataStore.
API-Änderungen
- Blenden Sie die CorruptionHandler-Benutzeroberfläche aus. Es gab keinen Grund dafür, dass es öffentlich sein sollte, da die DataStore-Fabrik nur einen ReplaceFileCorruptionHandler akzeptiert. (I0b3b3, b/176032264)
- Die Methode
preferencesKey<T>(name: String): Key<T>
wurde entfernt und durch Methoden ersetzt, die für jeden unterstützten Typ spezifisch sind.preferencesKey<Int>("int")
ist jetztintPreferencesKey("int")
(Ibcfac, b/170311106)
Fehlerkorrekturen
- Fehler in der Dokumentation zur DataStoreFactory behoben, in der nicht erwähnt wurde, dass die Datastore-Datei im Unterverzeichnis „datastore/“ erstellt wird. (Ica222)
Version 1.0.0-alpha05
2. Dezember 2020
androidx.datastore:datastore-*:1.0.0-alpha05
wird veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Bessere Dokumentation und Ausnahmen für parallele Schreibvorgänge aus Datenspeichern hinzufügen (Ia98a2, b/173522155, b/173726702)
- Es ist jetzt zulässig (aber nicht erforderlich), den an
Serializer.writeTo()
übergebenen OutputStream zu schließen. (I5c9bf, b/173037611)
Version 1.0.0-alpha04
17. November 2020
androidx.datastore:datastore-*:1.0.0-alpha04
wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Ein Verpackungsproblem wurde behoben, das zum folgenden Absturz im Preference Datastore
1.0.0-alpha03
führte:java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/datastore/preferences
- Der Absturz wurde ursprünglich hier gemeldet: b/173036843
- (I4712d, b/173036843)
Version 1.0.0-alpha03
11. November 2020
androidx.datastore:datastore-*:1.0.0-alpha03
wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
- In den Einstellungen werden jetzt Doppelwerte unterstützt. Das ist nützlich, wenn Sie eine höhere Genauigkeit als bei Gleitkommazahlen benötigen. (I5be8f, b/169471808)
API-Änderungen
- Es wurde eine reine Kotlin-Abhängigkeit für den Datenspeicher erstellt, um eine schnellere Kompilierung zu ermöglichen.
androidx.datastore:datastore-core
enthält die reinen Kotlin-APIs undandroidx.datastore:datastore
die Android-abhängigen APIs (einschließlich desSharedPreferencesMigration
- und desContext.createDataStore
-Konstruktors). (I42d75, b/168512698) - Ziele für den Datenspeicher für Einstellungen aufteilen, um die Kotlin-Kompilierung zu beschleunigen (Ia3c19)
Für Serializer ist jetzt eine neue Eigenschaft für den Standardwert erforderlich, der verwendet wird, wenn keine Daten auf dem Laufwerk vorhanden sind. So lassen sich benutzerdefinierte Serializer einfacher implementieren, sodass Nutzer keine Sonderbehandlung für leere Eingabestreams vornehmen müssen (leere Eingabestreams werden nicht mit JSON geparst).
- Außerdem wird jetzt geprüft, ob der für writeTo() bereitgestellte Ausgabestream geschlossen ist. Ist das der Fall, werden Ausnahmen geworfen (I16e29).
Der Konstruktor für SharedPreferencesView wurde intern. Ursprünglich war sie öffentlich, um Tests zu ermöglichen. Stattdessen sollten Sie für Tests eine SharedPreferencesMigration erstellen und diese verwenden. (I93891)
Fehlerkorrekturen
- Der Parameter
produceFile
vonDataStoreFactory
undPreferenceDataStoreFactory
ist jetzt der letzte Parameter in der Liste. Sie können also die abschließende Lambda-Syntax von Kotlin verwenden. (Ibe7f1, b/169425442) - Einhaltung der neuen expliziten API-Anforderungen für Kotlin (I5ae1e)
Bekannte Probleme
- Der Einstellungsdatenspeicher stürzt mit
java.lang.NoClassDefFoundError
ab. (b/173036843)
Version 1.0.0-alpha02
14. Oktober 2020
androidx.datastore:datastore-core:1.0.0-alpha02
und androidx.datastore:datastore-preferences:1.0.0-alpha02
werden freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Schutz vor Mutationen in datastore-core hinzugefügt. Mutation beeinträchtigt die Nutzung des Datenspeichers für Nutzer, die den Datenspeicher mit Nicht-Proto-/Nicht-Einstellungen-Typen verwenden (I6aa84)
- In „Preferences.kt“ wurde die Methode
toString
hinzugefügt, um den aktuellen Status leichter beheben zu können (I96006) - Es wurde eine Ausnahme hinzugefügt, um vor Missbrauch von
DataStore.Preferences
zu schützen (I1134d). - Ein Fehler wurde behoben, durch den die App beim Starten abgestürzt ist (I69237, b/168580258)
Version 1.0.0-alpha01
2. September 2020
androidx.datastore:datastore-core:1.0.0-alpha01
und androidx.datastore:datastore-preferences:1.0.0-alpha01
werden freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
Jetpack DataStore ist eine neue und verbesserte Datenspeicherlösung, die SharedPreferences ersetzen soll. DataStore basiert auf Kotlin-Coroutinen und Flow und bietet zwei verschiedene Implementierungen:
- Proto DataStore, mit dem Sie typisierte Objekte (unterstützt durch Protokoll-Buffers) speichern können
- Datenspeicher für Einstellungen, in dem Schlüssel/Wert-Paare gespeichert werden
Die Daten werden asynchron, konsistent und transaktional gespeichert, wodurch die meisten Nachteile von SharedPreferences behoben werden.