Xamarin.Essentials: EinstellungenXamarin.Essentials: Preferences

Die Klasse Preferences unterstützt das Speichern von Anwendungseinstellungen in einem Schlüsselwertspeicher.The Preferences class helps to store application preferences in a key/value store.

Erste SchritteGet started

Lesen Sie zum Einstieg in diese API das Handbuch Erste Schritte mit Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

Verwenden von EinstellungenUsing Preferences

Fügen Sie Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

So speichern Sie in den Einstellungen einen Wert für einen bestimmten Schlüssel:To save a value for a given key in preferences:

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

So rufen Sie einen Wert aus den Einstellungen oder, sofern kein Wert festgelegt ist, einen Standardwert ab:To retrieve a value from preferences or a default if not set:

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

So überprüfen Sie, ob ein bestimmter Schlüssel in den Einstellungen vorhanden ist:To check if a given key exists in preferences:

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

So entfernen Sie den Schlüssel aus den Einstellungen:To remove the key from preferences:

Preferences.Remove("my_key");

So entfernen Sie alle Einstellungen:To remove all preferences:

Preferences.Clear();

Neben diesen Methoden wird jeweils ein optionaler sharedName aufgenommen, der zum Erstellen zusätzlicher Container für die Einstellung verwendet werden kann.In addition to these methods each take in an optional sharedName that can be used to create additional containers for preference. Die Besonderheiten bei der plattformspezifischen Implementierung sind weiter unten beschrieben.Read the platform implementation specifics below.

Unterstützte DatentypenSupported Data Types

Die folgenden Datentypen werden in der Klasse Preferences unterstützt:The following data types are supported in Preferences:

  • boolbool
  • doubledouble
  • intint
  • floatfloat
  • longlong
  • stringstring
  • DateTimeDateTime

Integrieren mit SystemeinstellungenIntegrate with System Settings

Da Einstellungen nativ gespeichert werden, können Sie Ihre Einstellungen in die nativen Systemeinstellungen integrieren.Preferences are store natively, which allows you to integrate your settings into the native system settings. Führen Sie die in der Dokumentation und den Beispielen der jeweiligen Plattform angegebenen Schritte aus, um die Einstellungen mit der Plattform zu integrieren:Follow the platform documetnation and samples to integrate with the platform:

ImplementierungsdetailsImplementation Details

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.Values of DateTime are stored in a 64-bit binary (long integer) format using two methods defined by the DateTime class: The ToBinary method is used to encode the DateTime value, and the FromBinary method decodes the value. 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.See the documentation of these methods for adjustments that might be made to decoded values when a DateTime is stored that is not a Coordinated Universal Time (UTC) value.

Besonderheiten bei der plattformspezifischen ImplementierungPlatform Implementation Specifics

Alle Daten werden in freigegebenen Einstellungen gespeichert.All data is stored into Shared Preferences. Wenn kein sharedName angegeben ist, werden die standardmäßigen freigegebenen-Einstellungen verwendet. Andernfalls wird der Name zum Abrufen einer privaten freigegebenen Einstellung mit dem angegebenen Namen verwendet.If no sharedName is specified the default shared preferences are used, else the name is used to get a private shared preferences with the specified name.

PersistenzPersistence

Das Deinstallieren der Anwendung führt dazu, dass alle Einstellungen entfernt werden.Uninstalling the application will cause all Preferences to be removed. Hierbei gibt es eine Ausnahme für Apps, die unter Android 6.0 (API-Ebene 23) oder höher ausgeführt werden (bzw. auf dieses Betriebssystem abzielen) und die automatische Sicherung verwenden.There is one exception to this, which for apps that target and run on Android 6.0 (API level 23) or later that are using Auto Backup. Dieses Feature ist standardmäßig aktiviert und sichert App-Daten einschließlich der freigegebenen Einstellungen, die von der Preferences-API genutzt werden.This feature is on by default and preserves app data including Shared Preferences, which is what the Preferences API utilizes. Sie können dieses Feature deaktivieren, indem Sie die in der Google-Dokumentation beschriebenen Schritte ausführen.You can disable this by following Google's documentation.

EinschränkungenLimitations

Beachten Sie beim Speichern einer Zeichenfolge, dass diese API zum Speichern kleiner Textmengen konzipiert wurde.When storing a string, this API is intended to store small amounts of text. Die Leistung nimmt ggf. ab, wenn Sie versuchen, große Textmengen zu speichern.Performance may be subpar if you try to use it to store large amounts of text.

APIAPI

Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.Find more Xamarin videos on Channel 9 and YouTube.