¿En qué se utilizan las clases PreferenceManager y SharedPreference en Android?

Me he encontrado con dos clases que se utilizan en un tutorial en las pantallas de bienvenida PreferenceManager y SharedPreferences. No obtuve una gran cantidad de conocimiento sobre ellos desde el tutorial sin embargo.

Entonces, ¿alguien puede explicarme lo que ambas clases hacen o se utilizan para?

Preferencias es un mecanismo ligero de Android para almacenar y recuperar pares de tipos de datos primitivos (también denominados Mapas y Arrays asociativos).

En cada entrada del formulario la clave es una cadena y el valor debe ser un tipo de datos primitivo.

CUANDO LOS NECESITAMOS:

Las PREFERENCIAS se usan típicamente para mantener información de estado y datos compartidos entre varias actividades de una aplicación.

Preferencias compartidas es el almacenamiento, en android, que puede utilizar para almacenar algunas cosas básicas relacionadas con la funcionalidad, la personalización de los usuarios o su perfil.

Supongamos que desea guardar el nombre del usuario en su aplicación para fines futuros. Usted no puede guardar una cosa tan pequeña en la base de datos, Así que es mejor guardarlo guardado en sus preferencias. Preferencias es como un archivo, desde el cual puede recuperar valor en cualquier momento de la vida útil de la aplicación en un modo de par KEY VALUE.

Tome otro ejemplo, si utiliza whatsapp, tenemos una opción de papel tapiz allí. Cómo la aplicación sabe qué imagen sirve como papel de pared para usted cuando abre su whatsapp. Esta información se almacena en las preferencias. Cuando borres datos para cualquier aplicación, las preferencias se eliminan.

CÓMO USAR ESTAS PREFERENCIAS:

final int mode = Activity.MODE_PRIVATE; final String MYPREFS = "MyPreferences_001"; // create a reference to the shared preferences object SharedPreferences mySharedPreferences; // obtain an editor to add data to my SharedPreferences object SharedPreferences.Editor myEditor; mySharedPreferences = getSharedPreferences(MYPREFS, 0); // using this instance you can get any value saved. mySharedPreferences.getInt("backColor",Color.BLACK); // default value is BLACK set here 

EDICIÓN DE PREFERENCIAS COMPARTIDAS:

 myEditor = mySharedPreferences.edit(); //edit and commit myEditor.putString("backColor", Color.RED); myEditor.commit() //very imp. 

Desde el sitio para desarrolladores de Android:

PreferenceManager:

Se utiliza para ayudar a crear jerarquías de preferencia de las actividades o XML.

Preferencias compartidas:

Interfaz para acceder y modificar los datos de preferencia devueltos por getSharedPreferences (String, int). Para cualquier conjunto particular de preferencias, hay una única instancia de esta clase que comparten todos los clientes.

En pocas palabras, PreferenceManager se utiliza normalmente cuando se desea crear una PreferenceActivity o cargar en algunas Preferencias de un archivo .xml en su aplicación con valores predeterminados, y mantiene su propio referenciado a SharedPreferences .

SharedPreferences es donde se maneja el almacenamiento y recuperación de pares clave / valor que forman sus preferencias. Por lo tanto, puede agregar variables con claves para recuperar los datos más adelante. Esto se alimenta en el PreferenceManager que puede manejar la adición de valores predeterminados y la configuración predeterminada SharedPreferences .

Puede utilizar SharedPreferences toda la aplicación sin necesidad de utilizar PreferenceManager , pero lo contrario no es estrictamente cierto.

Otras lecturas:

  • PreferenceActivity (también PreferenceFragment ), que utiliza PreferenceManager en los ejemplos.
  • Android Data Storage que utiliza SharedPreferences (así como otras opciones).
  • Vogella artículo sobre la persistencia de Android.
  • SharedPreferences con StackOverflow al usar SharedPreferences correctamente.

Como se explica Artoo Detoo … Sharedpreferences un poco funciona como sesiones en el desarrollo web. Puede usarlos para pasar valores de una actividad a otra y se mantiene así en la medida en que la aplicación esté en uso, salvo que se cambie de otra forma.

También se utiliza para el valor del usuario (ya sea después del inicio de sesión o el registro del usuario). Eso es lo mucho que puedo hablar de eso

Las API de SharedPreference se usan para guardar pares de valores clave. Los almacenan en archivos y son privados o públicos en función del modo en el que instancia el objeto SharedPreference. Se utilizan para almacenar un pequeño conjunto de pares clave-valor. Esta clave aquí es del tipo String y el valor puede ser cualquier tipo primitivo.

PreferenceManager forma parte de las API de preferencias. La API de preferencias le permite definir una interfaz de usuario de configuración completa. Esta configuración UI es un diseño XML. Utiliza un PreferenceManager para administrar el árbol del objeto Preferencias. Utiliza las API de SharedPreference para almacenar las diversas configuraciones que un usuario puede cambiar usando el diseño gráfico que creó.

Referencia – "Formación para Android Docs"

  • Retrofit post utilizando Firebase
  • ¿Cómo uso tabHost para Android
  • ¿Cómo configurar el color de fondo personalizado mientras se toca el elemento?
  • ¿Hay razones para no usar lombok con android studio
  • ¿Es String una primitiva o un Objeto en Android o Java?
  • Utilizar interfaces para constantes de espacio de nombres en Android
  • Super.onCreateView en Fragmentos
  • Android Multidex RuntimeException
  • Hacer clic en el elemento giratorio dentro de la ventana emergente causa WindowManager $ BadTokenException
  • Android - Obtener ubicación sólo una vez
  • Devolución de una matriz de AsyncTask volver a Actividad principal
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.