PreferenceDataStore in Android O

Ich lese diesen Artikel https://medium.com/@ianhlake/hidden-gems-of-android-o-7def63136629 . Hier ist das geschrieben:

SharedPreferences ist tot. Es lebe SharedPreferences.

  • Abstand zwischen Artikeln in einer Listview
  • Android-Layout mit quadratischen Tasten
  • Android Cling / Upnp Proguard
  • Kamerabild zu Bitmap führt zu verwirrtem Bild
  • Was bedeutet ic_launcher?
  • Android-Einstellung Textansicht Farbe aus Java-Code
  • Werden SharedPreferences weiterhin in Android O arbeiten? Müssen wir einen eigenen Mechanismus für die Speicherung von Daten in Schlüsselwertpaaren implementieren, indem wir PreferenceDataStore implementieren

    Kann jemand helfen, wie wäre der Ansatz zur Umsetzung neuer SharedPreferences mit PreferenceDataStore & Was ist Anwendungsfall der Entwicklung eigener Umsetzung? Jeder Nachteil im aktuellen Ansatz?

  • Nested Fragments - IllegalStateException "Kann diese Aktion nach onSaveInstanceState nicht ausführen"
  • Wie kann man die installierte Anwendung zur Laufzeit überprüfen, um Phishing-Angriffe zu verhindern?
  • Ausgewählten Zustand der Navigationsschublade nach der Rückwärtspresse aktualisieren
  • Android-Aktionsleiste mit Suchansicht
  • Notiz benachrichtigen jeden Tag
  • Festlegen eines benutzerdefinierten Freigabesymbols auf der Aktionsleiste ShareActionProvider
  • 4 Solutions collect form web for “PreferenceDataStore in Android O”

    Ich kann nicht an einen Fall denken, wo es nur anwendbar ist, um PreferenceDataStore anstelle von SharedPreferences vollständig zu verwenden, aber ich denke, dass dies hilfreich sein kann, wenn Sie sie zusammen verwenden möchten.

    SharedPreferences bieten Ihnen einen tollen Service, der bei der Aktualisierung Ihrer App ist, die Daten bleiben noch in den Einstellungen, aber mit PreferenceDataStore speichern Sie auch die Daten im selben Format wie in SharedPreferences. Nehmen wir an, wenn Sie die gleiche Vorzugsschnittstelle verwenden möchten, aber Sie möchten diese Werte in der Cloud statt des Geräts speichern, auch weil die Geräte abbrechen können.

    Was PreferenceDataStore Ihnen helfen kann, ist, dass es Ihnen die Flexibilität bietet, Daten an jedem Ort zu speichern und Ihre eigene Implementierung zu schreiben. Es ist nicht gemeint, um SharedPreferences vollständig zu ersetzen, obwohl du es tun kannst, wenn du willst.

    Für ein Beispiel können Sie das Zugriffstoken der App in den geteilten Vorlieben und alle anderen Daten in der Cloud oder lokalen db oder Cloud oder möglicherweise Dateisystem verwenden, wenn Sie möchten, und Sie können die PreferenceDataStore-Schnittstelle verwenden, notieren Sie Ihre eigene Implementierung und dann benutze es.

    Auch im Link der Entwicklerdokumentation in Google PreferenceDataStore https://developer.android.com/reference/android/preference/PreferenceDataStore.html Es steht geschrieben

    In den meisten Fällen möchten Sie SharedPreferences verwenden, da es automatisch gesichert und auf neue Geräte migriert wird. Allerdings kann die Bereitstellung von benutzerdefinierten Datenspeicher zu Vorlieben nützlich sein, wenn Ihre App speichert ihre Vorlieben in einem lokalen db, Wolke oder sie sind gerätespezifisch wie "Entwickler-Einstellungen". Es könnte auch nützlich sein, wenn Sie die Einstellungen der Benutzeroberfläche verwenden möchten, aber die Daten sollen nicht gespeichert werden, da sie nur pro Sitzung gültig sind.

    So können Sie sehen, dass auch Google nicht wollen, dass Sie PreferenceDataStore die ganze Zeit verwenden, es ist nur für die Zeit, dass, wenn Sie die gleichen Vorgaben Stil der Speicherung von Schlüsselwert-Paare verwenden müssen, aber Sie wollen Ihren eigenen Datenspeicher implementieren, die Wir bieten Ihnen mehr Flexibilität, die Sie derzeit in SharedPreferences haben.

    Zum Beispiel, was, wenn Sie wollen, erhalten Sie SharedPreferences und legen Sie dann die SharedPreferences-Daten auf einem Cloud-Server. Sie wollen es auf dem Gerät aber auch auf Cloud gesichert, In diesem Szenario kann PreferenceDataStore Ihnen helfen.

    Du solltest die schlechte Angewohnheit aufgeben, die Abdeckung durch ihr Buch zu beurteilen und einfach den erwähnten Posten vollständig zu lesen, anstatt Schlussfolgerungen aus dem eingängigen Kapiteltitel zu ziehen.

    Gemeinsame Präferenzen sind nicht einmal in O veraltet und was Ian Lake erwähnt, ist eine Verbesserung dieser Funktion, so dass Ihre App die gleiche einfache Schlüssel / Wert-Paar-API wie es jetzt ist, aber bieten Sie Ihren eigenen Mechanismus für die Speicherung der zugrunde liegenden Daten (dh in Firebase, Remote Server, etc.). Wenn Sie diese Funktion nicht verpassen, dann können Sie einfach Shared Preferences verwenden, wie Sie es bisher ohne jede Änderung in Ihrem Code getan haben.

    Ich glaube, du liest hier zwischen den Zeilen. SharedPreferences werden nicht veraltet. Allerdings kommen sie mit ihrem fairen Anteil an Problemen, so dass in Android O die PreferenceDataStore Schnittstelle soll dem Entwickler eine Möglichkeit geben, eine eigene Implementierung zu entwickeln, die anstelle von SharedPreferences verwendet wird. Von den docs kannst du setPreferenceDataStore und

    Wenn der Datenspeicher gesetzt ist, verwenden die Einstellungen keine SharedPreferences mehr.

    Also ich denke, was er in der Post war, war, dass Sie jetzt einen eingebauten Weg haben, um Ihren eigenen Anbieter zu rollen, um Mängel von SharedPreferences zu überwinden

    Ich glaube, Sie haben eine falsche Schlussfolgerung gezogen, Shred Preferences funktioniert in Android O.

    In Android O können einzelne Einstellungen oder sogar der gesamte PreferenceManager setPreferenceDataStore () aufrufen, so dass Ihre App die gleiche einfache Key / Value-Pair-API behalten kann, aber einen eigenen Mechanismus für die Speicherung der zugrunde liegenden Daten bereitstellen kann.

    Lesen Sie diesen Link

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.