Xamarin.Essentials: PreferenciasXamarin.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 Xamarin.Essentials en su clase:Add a reference to Xamarin.Essentials in your class:

using 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 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();

Además de estos métodos, cada una toma un valor sharedName opcional que se puede usar para crear contenedores adicionales para la preferencia.In addition to these methods each take in an optional sharedName that can be used to create additional containers for preference. Lea los detalles de implementación de la plataforma a continuación.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

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 sharedName, se usan las preferencias compartidas predeterminadas; en caso 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, else the name is used to get a private shared preferences with the specified name.

PersistenciaPersistence

Al desinstalar la aplicación se quitarán todas las Preferencias.Uninstalling the application will cause all Preferences to be removed. Hay una excepción, para las aplicaciones que se destinan y se ejecutan en Android 6.0 (nivel de API 23) o versiones posteriores en las que se usa Copia de seguridad automática.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. 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.