viernes, 7 de noviembre de 2014

WINDOWS PHONE 8 GUARDAR CONFIGURACIÓN DEL USUARIO

Una de las opciones indespensables que debe de contar toda aplicación es la ser capaz de guardar la configuración del usuario por ejemplo en mi app memegenerator tengo la siguiente pantalla:
pero ¿Cómo guardo la configuración de el usuario en windows phone 8? La respuesta es sencilla tenemos que usar el almacenamiento aislado. Existen dos tipos de almacenamiento aislados.
El primero y el más simple es donde guardamos y recuperamos datos mediante una clave y valor (key and value) haciendo uso del la clase IsolatedStorageSettings  que forma parte del namespace "System.IO.IsolatedStorage".

La segunda forma básicamente trata de guardar archivos haciendo uso de la clase IsolatedStorageFile  que al igual forma parte del namespace "System.IO.IsolatedStorage".


Trabajando con el almacenamiento tipo clave valor

 Yo he creado una clase que facilita la tarea de guardar la configuración de los usuarios y en está ocasión me gustaría compartirla.
Aquí les dejo la clase :)
 public class SettingsHelper
    {

        /// 
        /// Método para agregar una nueva key
        /// 
        /// Nombre único
        /// Valor de la key
        public static void addValue(string key, object value)
        {
            if (!IsolatedStorageSettings.ApplicationSettings.Contains(key))
            {
                IsolatedStorageSettings.ApplicationSettings.Add(key, value);
            }
            else
            {
                IsolatedStorageSettings.ApplicationSettings[key] = value;
            }


        }
        /// 
        /// Obtiene el valor que se estableció a la key
        /// 
        /// El nombré único
        /// 
        public static object getValue(string key)
        {
            object item = null;
            if (IsolatedStorageSettings.ApplicationSettings.Contains(key))
            {
                item = IsolatedStorageSettings.ApplicationSettings[key];
            }
            return item;
        }

        /// 
        /// Verifica si  existe una key 
        /// 
        /// El nombre único
        /// 
        public static bool existKey(string key)
        {
            if (IsolatedStorageSettings.ApplicationSettings.Contains(key))
            {
                return true;
            }
            return false;
        }

        /// 
        /// Elimina una key
        /// 
        /// Nombre único
        public static void removeKey(string key)
        {
            if (IsolatedStorageSettings.ApplicationSettings.Contains(key))
            {
                IsolatedStorageSettings.ApplicationSettings.Remove(key);
            }
        }
    }

¿Cómo usar la clase?
vamos hacer algo sencillo y le enseñaré como ustedes pueden usar está clase.
Primero crearemos una nueva página y editaremos nuestro código xaml
  
            
                
                
                
                
                
  

En nuestro código behind agregaremos el siguiente código
 //key 
        private String key = "nombre";
        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            //Agregamos la key
            SettingsHelper.addValue(key, txtNombre.Text);
        }

        private void btObtener_Click(object sender, RoutedEventArgs e)
        {
            //Verificamos si existe la key
            if (SettingsHelper.existKey(key) == true)
            {
                //obtenemos el nombre
                String nombre = SettingsHelper.getValue(key).ToString();
                MessageBox.Show(String.Format("Tu nombre es {0}", nombre));
            }
            else
            {
                //mostramos mensaje que no ha guardado la key aún
                MessageBox.Show("Aún no has guardado la key");
            }

        }
Finalmente aquí les dejo una captura del resultado que se muestra en la aplicación. Espero y les sea de ayuda este conocimiento que estoy compartiendo con ustedes

No hay comentarios:

Publicar un comentario