:::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:
- Apple: Implementación de un lote de configuración de iOSApple: Implementing an iOS Settings Bundle
- Ejemplo de preferencias de la aplicación de iOSiOS Applicaton Preferences Sample
- Configuración de watchOSwatchOS Settings
- Android: Introducción a las pantallas de configuraciónAndroid: Getting Started with Settings Screens
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
- Código fuente de PreferencesPreferences source code
- Documentación de API para PreferencesPreferences API documentation
Vídeo relacionadoRelated Video
Encuentre más vídeos de Xamarin en Channel 9 y YouTube.Find more Xamarin videos on Channel 9 and YouTube.