Xamarin.Essentials: Einstellungen

Die Klasse Preferences unterstützt das Speichern von Anwendungseinstellungen in einem Schlüsselwertspeicher.

Erste Schritte

Lesen Sie zum Einstieg in die Verwendung dieser API den Leitfaden mit ersten Schritte für Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.

Verwenden von Einstellungen

Fügen Sie in Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:

using Xamarin.Essentials;

So speichern Sie in den Einstellungen einen Wert für einen bestimmten Schlüssel:

Preferences.Set("my_key", "my_value");

So rufen Sie einen Wert aus den Einstellungen oder, sofern kein Wert festgelegt ist, einen Standardwert ab:

var myValue = Preferences.Get("my_key", "default_value");

So überprüfen Sie, ob ein bestimmter Schlüssel in den Einstellungen vorhanden ist:

bool hasKey = Preferences.ContainsKey("my_key");

So entfernen Sie den Schlüssel aus den Einstellungen:

Preferences.Remove("my_key");

So entfernen Sie alle Einstellungen:

Preferences.Clear();

Tipp

Die oben genannten Methoden akzeptieren den optionalen string-Parameter sharedName. Mithilfe dieses Parameters werden zusätzliche Container für Einstellungen erstellt, die in einigen Anwendungsfällen hilfreich sind. Einen Anwendungsfall stellt z. B. eine Anwendung dar, die Einstellungen für mehrere Erweiterungen oder eine Überwachungsanwendung freigeben muss. Die Besonderheiten bei der plattformspezifischen Implementierung sind weiter unten beschrieben.

Unterstützte Datentypen

Die folgenden Datentypen werden in der Klasse Preferences unterstützt:

  • bool
  • double
  • int
  • float
  • long
  • string
  • DateTime

Integrieren mit Systemeinstellungen

Einstellungen werden nativ gespeichert, sodass Sie Ihre Einstellungen in die nativen Systemeinstellungen integrieren können. Führen Sie die in der Dokumentation und den Beispielen der jeweiligen Plattform angegebenen Schritte aus, um die Einstellungen mit der Plattform zu integrieren:

Implementierungsdetails

Werte von DateTime befinden sich in einem 64-Bit-Binärdateiformat (langer Integer) mit zwei durch die DateTime-Klasse definierten Methoden: Die ToBinary-Methode dient zum Codieren des DateTime-Werts, und die FromBinary-Methode decodiert den Wert. In der Dokumentation zu diesen Methoden finden Sie eventuell notwendige Anpassungen, die an decodierten Werten vorgenommen werden müssen, wenn ein DateTime-Wert gespeichert wird, der kein UTC-Wert (Coordinated Universal Time) ist.

Besonderheiten bei der plattformspezifischen Implementierung

Alle Daten werden in freigegebenen Einstellungen gespeichert. Wenn kein sharedName angegeben ist, werden die standardmäßigen freigegebenen Einstellungen verwendet. Andernfalls wird der Name zum Abrufen einer privaten, gemeinsam genutzten Einstellung mit dem angegebenen Namen verwendet.

Persistenz

Wenn Sie die Anwendung deinstallieren, werden alle Einstellungen entfernt. Dies gilt jedoch nicht für Apps, die auf Android 6.0 (API-Ebene 23) oder höher abzielen und darauf ausgeführt werden und die die automatische Sicherung verwenden. Dieses Feature ist standardmäßig aktiviert und sichert App-Daten einschließlich der freigegebenen Einstellungen, die von der Preferences-API genutzt werden. Sie können dieses Feature deaktivieren, indem Sie die in der Google-Dokumentation beschriebenen Schritte ausführen.

Einschränkungen

Beachten Sie beim Speichern einer Zeichenfolge, dass diese API zum Speichern kleiner Textmengen konzipiert wurde. Die Leistung nimmt ggf. ab, wenn Sie versuchen, große Textmengen zu speichern.

API

Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.