template open xamarin storage xamarin.forms

open - ¿Cómo puedo guardar algunos datos de usuario localmente en mi aplicación Xamarin Forms?



xamarin forms webview xaml (2)

Otra opción es el complemento de configuración de formularios xamarin https://github.com/jamesmontemagno/SettingsPlugin . Si necesita almacenar, por ejemplo, instancia de usuario, simplemente serialícela en json al almacenarla y deserializarla al leerla.

Utiliza la gestión de configuración nativa

  • Android: SharedPreferences
  • iOS: NSUserDefaults
  • Windows Phone: IsolatedStorageSettings
  • Windows RT / UWP: ApplicationDataContainer

    public User CurrentUser { get { User user = null; var serializedUser = CrossSettings.Current.GetValueOrDefault<string>(UserKey); if (serializedUser != null) { user = JsonConvert.DeserializeObject<User>(serializedUser); } return user; } set { CrossSettings.Current.AddOrUpdateValue(UserKey, JsonConvert.SerializeObject(value)); } }

Tengo una aplicación simple de Formularios Xamarin. Ahora tengo un objeto POCO simple (por ejemplo, instancia de User o una lista de los tweets o pedidos más recientes o lo que sea).

¿Cómo puedo almacenar este objeto localmente en el dispositivo? Imaginemos que lo serializo como JSON.

Además, ¿qué tan segura es esta información? ¿Es parte de Llaveros, etc.? Copia de seguridad automática?

¡aclamaciones!


Usted tiene un par de opciones.

  1. SQLite. Esta opción es multiplataforma y funciona bien si tiene muchos datos. Obtiene la bonificación adicional de soporte de transacciones y soporte asíncrono también. EDITAR : En el pasado sugerí usar SQLite.Net-PCL . Debido a issues relacionados con el soporte de Android 7.0 (y una aparente extinción del soporte), ahora recomiendo hacer uso del proyecto que originalmente se bifurcó de: sqlite-net
  2. Almacenamiento local. Hay un gran nuget que admite el almacenamiento multiplataforma. Para más información, vea PCLStorage
  3. También hay Application.Current.Properties implementadas en Xamarin. Formas que permiten pares simples de pares clave-valor de datos.

Creo que tendrás que investigar y descubrir qué ruta satisface mejor tus necesidades.

En cuanto a la seguridad, eso depende de dónde coloque sus datos en cada dispositivo. Android almacena los datos de la aplicación en una carpeta segura de aplicaciones de forma predeterminada (no todo eso seguro si está rooteado). iOS tiene varias carpetas diferentes para el almacenamiento de datos en función de las diferentes necesidades. Lea más aquí: Almacenamiento de datos de iOS