Xamarin.Essentials: Preferencias

La clase Preferences ayuda a almacenar las preferencias de la aplicación en un almacén de clave y valor.

Primeros pasos

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.

Uso de Preferences

Agregue una referencia a Xamarin.Essentials en la clase:

using Xamarin.Essentials;

Para guardar un valor para una clave determinada en las preferencias:

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

Para recuperar un valor de las preferencias o un valor predeterminado si no se establece:

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

Para comprobar si una clave determinada existe en las preferencias:

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

Para quitar la clave de las preferencias:

Preferences.Remove("my_key");

Para quitar todas las preferencias:

Preferences.Clear();

Sugerencia

Los métodos anteriores toman un parámetro string opcional denominado sharedName. Este parámetro se usa para crear contenedores adicionales para las preferencias que son útiles en algunos casos de uso. Un caso de uso es cuando la aplicación necesita compartir preferencias entre extensiones o con una aplicación de inspección. Lea los detalles de implementación de la plataforma a continuación.

Tipos de datos admitidos

En Preferences se admiten los tipos de datos siguientes:

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

Integración con la configuración del sistema

Las preferencias se almacenan de forma nativa, lo que permite integrar la configuración en la configuración nativa del sistema. Siga la documentación y los ejemplos de la plataforma para integrarlos con ella:

Detalles de implementación

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. 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).

Detalles de implementación de la plataforma

Todos los datos se almacenan en Preferencias compartidas. 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.

Persistencia

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. 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. Se puede deshabilitar si se sigue la documentación de Google.

Limitaciones

Cuando se almacena una cadena, esta API está pensada para almacenar pequeñas cantidades de texto. El rendimiento puede ser inferior si se intenta usar para almacenar grandes cantidades de texto.

API

Encuentre más vídeos de Xamarin en Channel 9 y YouTube.