Quiero almacenar un valor de tiempo y necesito recuperarlo y editarlo. ¿Cómo puedo usar SharedPreferences
para hacer esto?
android
sharedpreferences
Muhammad Maqsoodur Rehman
fuente
fuente
Respuestas:
Para obtener preferencias compartidas, utilice el siguiente método en su actividad:
Para leer las preferencias:
Para editar y guardar preferencias
El directorio de muestra de Android SDK contiene un ejemplo de recuperación y almacenamiento de preferencias compartidas. Está ubicado en:
Editar ==>
Me di cuenta, es importante escribir la diferencia entre
commit()
yapply()
aquí también.commit()
devolvertrue
si el valor se guardó correctamente de lo contrariofalse
. Guarda valores en SharedPreferences sincrónicamente .apply()
se agregó en 2.3 y no devuelve ningún valor, ya sea en caso de éxito o fracaso. Guarda valores en SharedPreferences inmediatamente, pero inicia una confirmación asincrónica . Más detalles está aquí .fuente
this.getSharedPreferences
me da el siguiente error:The method getSharedPreferences(String, int) is undefined for the type MyActivity
Para almacenar valores en preferencias compartidas:
Para recuperar valores de preferencias compartidas:
fuente
Map<DateTime, Integer>
?Para editar datos de
sharedpreference
Para recuperar datos de
sharedpreference
Editar
Tomé este fragmento de la muestra de demostración de API. Tenía una
EditText
caja allí. En estocontext
no es obligatorio. Estoy comentando lo mismo.fuente
Escribir :
Leer :
fuente
La manera más fácil:
Ahorrar:
Para recuperar:
fuente
Establecer valores en Preferencia:
Recuperar datos de preferencia:
más información:
Usar preferencias compartidas
Preferencias compartidas
fuente
Clase de preferencias compartidas Singleton. Puede ayudar a otros en el futuro.
Simplemente llame
SharedPref.init()
enMainActivity
vezPara escribir datos
Para leer datos
fuente
Para almacenar información
Para restablecer tus preferencias
fuente
Si está haciendo una aplicación grande con otros desarrolladores de su equipo y tiene la intención de tener todo bien organizado sin código disperso o diferentes instancias de SharedPreferences, puede hacer algo como esto:
En su actividad, puede guardar SharedPreferences de esta manera
y puede recuperar sus preferencias compartidas de esta manera
fuente
En cualquier aplicación, hay preferencias predeterminadas a las que se puede acceder a través de la
PreferenceManager
instancia y su método relacionadogetDefaultSharedPreferences(Context)
.Con la
SharedPreference
instancia, se puede recuperar el valor int de cualquier preferencia con getInt (String key, int defVal) . La preferencia que nos interesa en este caso es contraria.En nuestro caso, podemos modificar la
SharedPreference
instancia en nuestro caso usando edit () y usar elputInt(String key, int newVal)
aumento de la cuenta para nuestra aplicación que existe más allá de la aplicación y se muestra en consecuencia.Para realizar una demostración adicional de esto, reinicie y su aplicación nuevamente, notará que el recuento aumentará cada vez que reinicie la aplicación.
PreferencesDemo.java
Código:
main.xml
Código:
fuente
Solución simple de cómo almacenar el valor de inicio de sesión en
SharedPreferences
.Puede extender la
MainActivity
clase u otra clase donde almacenará el "valor de algo que desea conservar". Ponga esto en clases de escritor y lector:Aquí
InputClass
está laOutputClass
clase de entrada y salida, respectivamente.Ahora puede usarlo en otro lugar, como otra clase. Lo siguiente es
OutputClass
.fuente
Almacenar en SharedPreferences
Obtener en preferencias compartidas
Nota: "temp" es nombre de preferencias compartidas y "nombre" es valor de entrada. si el valor no sale, entonces devuelve nulo
fuente
Editar
Leer
fuente
La idea básica de SharedPreferences es almacenar cosas en un archivo XML.
Declare su ruta de archivo xml. (Si no tiene este archivo, Android lo creará. Si tiene este archivo, Android accederá a él).
Escribir valor en Preferencias compartidas
el
preference_file_key
es el nombre de los archivos de preferencias compartidas. Y el1010101
es el valor que necesita almacenar.apply()
por fin es guardar los cambios. Si obtiene un errorapply()
, cámbielo acommit()
. Entonces esta oración alternativa esLeer desde preferencias compartidas
lsp
será-1
sipreference_file_key
no tiene valor. Si 'prefiere_file_key' tiene un valor, devolverá el valor de este.Todo el código para escribir es
El código para leer es
fuente
Puede guardar valor utilizando este método:
Y usando este método puede obtener valor de SharedPreferences:
Aquí
prefKey
está la clave que usó para guardar el valor específico. Gracias.fuente
Aquí,
mSaved
puede ser cualquieraTextView
oEditText
de donde podemos extraer una cadena. simplemente puede especificar una cadena. Aquí el texto será la clave que contenga el valor obtenido demSaved
(TextView
oEditText
).Además, no es necesario guardar el archivo de preferencias utilizando el nombre del paquete, es decir, "com.example.app". Puedes mencionar tu propio nombre preferido. Espero que esto ayude !
fuente
Hay muchas formas en que las personas recomiendan cómo usar SharedPreferences . He hecho un proyecto de demostración aquí . El punto clave en la muestra es usar ApplicationContext y un único objeto de preferencias compartidas . Esto demuestra cómo usar SharedPreferences con las siguientes características: -
Ejemplo de uso de la siguiente manera: -
Obtenga el código fuente aquí y las API detalladas se pueden encontrar aquí en developer.android.com
fuente
La mejor práctica de todas
Crear interfaz nombrada con PreferenceManager :
Cómo usar con Actividad / Fragmento :
Nota: Reemplace su clave de SharedPreference con SP_TITLE .
Ejemplos:
Almacene la cadena en shareperence :
Obtener cadena de shareperence :
Espero que esto te ayudará.
fuente
Para almacenar valores en preferencias compartidas:
Para recuperar valores de preferencias compartidas:
fuente
ahorrar
para retirarse:
fuente
Escribo una clase auxiliar para preferencias compartidas:
fuente
Use este ejemplo de manera simple, clara y marcada
fuente
Usando esta biblioteca simple , así es como realiza las llamadas a SharedPreferences ..
fuente
Quería agregar aquí que la mayoría de los fragmentos de esta pregunta tendrán algo así como MODE_PRIVATE cuando se usan SharedPreferences. Bueno, MODE_PRIVATE significa que cualquier cosa que escriba en esta preferencia compartida solo puede ser leída por su aplicación.
Cualquiera que sea la clave que pase al método getSharedPreferences (), Android crea un archivo con ese nombre y almacena los datos de preferencia en él. También recuerde que se supone que getSharedPreferences () debe usarse cuando tiene la intención de tener múltiples archivos de preferencias para su aplicación. Si tiene la intención de usar un archivo de preferencias únicas y almacenar todos los pares clave-valor en él, use el método getSharedPreference (). Es extraño por qué todos (incluido yo mismo) simplemente usamos el sabor getSharedPreferences () sin siquiera comprender la diferencia entre los dos anteriores.
El siguiente video tutorial debería ayudar https://www.youtube.com/watch?v=2PcAQ1NBy98
fuente
Biblioteca simple y sin complicaciones :: "Android-SharedPreferences-Helper"
Más vale tarde que nunca: creé la biblioteca "Android-SharedPreferences-Helper" para ayudar a reducir la complejidad y el esfuerzo del uso
SharedPreferences
. También proporciona alguna funcionalidad extendida. Pocas cosas que ofrece son las siguientes:¡Bastante simple! A diferencia de la forma predeterminada (cuando se usa la clase SharedPreferences) NO necesitará llamar
.edit()
y.commit()
siempre.¡Eso es! Sus valores se almacenan en las preferencias compartidas.
De nuevo, solo una llamada a método simple con el nombre de la clave
Verifique los detalles de funcionalidad extendida, instrucciones de uso e instalación, etc. en la página del repositorio de GitHub .
fuente
necesita usar SharedPreferences en AdapterClass o cualquier otro. esa vez solo usa esta declaración y usa el mismo culo de arriba.
para cadena o valor booleano
buscar datos iguales a los anteriores
fuente
2.para almacenar en preferencia compartida
2.para recuperar el mismo uso
fuente
Aquí he creado una clase Helper para usar preferencias en Android.
Esta es la clase auxiliar:
fuente
Para almacenar y recuperar variables globales de una manera funcional. Para probar, asegúrese de tener elementos Textview en su página, elimine el comentario de las dos líneas en el código y ejecútelo. Luego comente las dos líneas nuevamente y corra.
Aquí la identificación de TextView es nombre de usuario y contraseña.
En cada clase donde desee usarlo, agregue estas dos rutinas al final. Me gustaría que esta rutina sea rutinas globales, pero no sé cómo. Esto funciona.
Las variables están disponibles en todas partes. Almacena las variables en "MyFile". Puedes cambiarlo a tu manera.
Lo llamas usando
el nombre de usuario variable se completará con "frans" y la contraseña con "! 2 # 4%". Incluso después de un reinicio están disponibles.
y lo recuperas usando
debajo del código completo de mi grid.java
a continuación encontrará los elementos de vista de texto
fuente
He creado una clase de ayuda para facilitar mi vida. Esta es una clase genérica y tiene muchos métodos que se usan comúnmente en aplicaciones como Preferencias compartidas, Validez del correo electrónico, Formato de fecha y hora. Copie esta clase en su código y acceda a sus métodos donde lo necesite.
fuente