:::no-loc(Xamarin.Essentials):::: Preferencias:::no-loc(Xamarin.Essentials):::: Preferences

La clase Preferences ayuda a almacenar las preferencias de la aplicación en un almacén de clave y valor.The Preferences class helps to store application preferences in a key/value store.

Primeros pasosGet started

Para empezar a usar esta API, lea la guía de introducción para Xamarin.Essentials con el fin de asegurarse de que la biblioteca está correctamente instalada y configurada en los proyectos.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.

Uso de PreferencesUsing Preferences

Agregue una referencia a :::no-loc(Xamarin.Essentials)::: en la clase:Add a reference to :::no-loc(Xamarin.Essentials)::: in your class:

using :::no-loc(Xamarin.Essentials):::;

Para guardar un valor para una clave determinada en las preferencias:To save a value for a given key in preferences:

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

Para recuperar un valor de las preferencias o un valor predeterminado si no se establece:To retrieve a value from preferences or a default if not set:

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

Para comprobar si una clave determinada existe en las preferencias:To check if a given key exists in preferences:

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

Para quitar la clave de las preferencias:To remove the key from preferences:

Preferences.Remove("my_key");

Para quitar todas las preferencias:To remove all preferences:

Preferences.Clear();

Sugerencia

Los métodos anteriores toman un parámetro string opcional denominado sharedName.The above methods take in an optional string parameter called sharedName. Este parámetro se usa para crear contenedores adicionales para las preferencias que son útiles en algunos casos de uso.This parameter is used to create additional containers for preferences which are helpful in some use cases. Un caso de uso es cuando la aplicación necesita compartir preferencias entre extensiones o con una aplicación de inspección.One use case is when your application needs to share preferences across extensions or to a watch application. Lea los detalles de implementación de la plataforma a continuación.Please read the platform implementation specifics below.

Tipos de datos admitidosSupported Data Types

En Preferences se admiten los tipos de datos siguientes:The following data types are supported in Preferences :

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

Integración con la configuración del sistemaIntegrate with System Settings

Las preferencias se almacenan de forma nativa, lo que permite integrar la configuración en la configuración nativa del sistema.Preferences are stored natively, which allows you to integrate your settings into the native system settings. Siga la documentación y los ejemplos de la plataforma para integrarlos con ella:Follow the platform documentation and samples to integrate with the platform:

Detalles de implementaciónImplementation Details

Los valores de DateTime se almacenan en un formato binario de 64 bits (entero largo) mediante dos métodos definidos por la clase DateTime: El método ToBinary se usa para codificar el valor DateTime, mientras que el método FromBinary descodifica el valor.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. Vea la documentación de estos métodos para obtener los ajustes que se podrían realizar en los valores descodificados cuando se almacena un valor DateTime que no es de hora universal coordinada (UTC).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.

Detalles de implementación de la plataformaPlatform Implementation Specifics

Todos los datos se almacenan en Preferencias compartidas.All data is stored into Shared Preferences. Si no se especifica ningún elemento sharedName, se usan las preferencias compartidas predeterminadas; de lo contrario, el nombre se usa para obtener una preferencia compartida privada con el nombre especificado.If no sharedName is specified the default shared preferences are used, otherwise the name is used to get a private shared preferences with the specified name.

PersistenciaPersistence

La desinstalación de la aplicación hará que se quiten todas las preferencias , con la excepción de las aplicaciones que tienen como destino y se ejecutan en Android 6.0 (nivel de API 23), o una versión posterior, que usan copia de seguridad automática.Uninstalling the application will cause all Preferences to be removed, with the exception being apps that target and run on Android 6.0 (API level 23) or later that use Auto Backup. Esta característica está activada de forma predeterminada y conserva los datos de aplicación, incluidas las preferencias compartidas , que son las que usa la API Preferences.This feature is on by default and preserves app data including Shared Preferences , which is what the Preferences API utilizes. Se puede deshabilitar si se sigue la documentación de Google.You can disable this by following Google's documentation.

LimitacionesLimitations

Cuando se almacena una cadena, esta API está pensada para almacenar pequeñas cantidades de texto.When storing a string, this API is intended to store small amounts of text. El rendimiento puede ser inferior si se intenta usar para almacenar grandes cantidades de texto.Performance may be subpar if you try to use it to store large amounts of text.

APIAPI

Encuentre más vídeos de Xamarin en Channel 9 y YouTube.Find more Xamarin videos on Channel 9 and YouTube.