¿Cómo eliminar un par de clave/valor de SharedPreferences? He puesto y yo para eliminar eso de las preferencias.¿Cómo eliminar un par de clave/valor de SharedPreferences?
Respuesta
SharedPreferences mySPrefs =PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = mySPrefs.edit();
editor.remove(String key);
editor.apply();
Aquí el editor es el editor de Preferencias compartidas.
SharedPreferences.Editor.remove(key)
commit();
Es importante señalar que, a menos que usted está planeando en hacer algo con el valor de retorno de la llamada commit(), no hay absolutamente ninguna razón para utilizar la confirmación síncrona() llamada en lugar de la asíncrono solicitud() llamada.
Tenga en cuenta que si llama esto desde el hilo principal/IU, la IU se bloquea hasta que se complete el compromiso(). Esto puede llevar más de 100 ms como aposición a aproximadamente 5 ms para la aplicación. Puede que no parezca mucho, pero si se hace continuamente a lo largo de una aplicación, sin duda se acumulará.
Por lo tanto, a menos que usted está planeando en hacer algo como esto, es de esperar en un hilo separado:
editor.remove(String key);
boolean success = editor.commit();
if (!success) {
// do something
}
en su lugar debe estar haciendo esto:
editor.remove(String key);
editor.apply();
información
Simplemente marque sharedpref
clase se extiende a Map
es por eso que hay remove
método
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = prefs.edit();
editor.remove(String key);
editor.apply();
aquí Editor es el editor de SharedPreferences.
Así es como violo este problema.
Primero crea una instancia de SharedPreference como
SharedPreferences mobilePreference;
Luego utiliza esta sharedPreference como
mobilePreference = this.getSharedPreferences("in.bhartisoftwares.amit.allamitappsthree", Context.MODE_PRIVATE);
aquí "in.bhartisoftwares.amit.allamitappsthree" es mi nombre de paquete y estoy usando Context.MODE_PRIVATE, porque quiero manipular esta preferencia compartida solo para este nombre de paquete.
entonces estoy suprimiendo la sharedPreference seleccionado (clave de mi sharedPreference se mobileString) de la siguiente manera:
mobilePreference.edit().remove("mobileString").commit();
Ver el código como se completa a continuación:
SharedPreferences mobilePreference = this.getSharedPreferences("in.bhartisoftwares.amit.allamitappsthree", Context.MODE_PRIVATE);
mobilePreference.edit().remove("mobileString").commit();
Es muy simple:
private SharedPreferences sharedPreferences() {
return PreferenceManager.getDefaultSharedPreferences(mContext);
}
public void clearSharedPreferences() {
sharedPreferences()
.edit()
.remove(SOME_KEY_1)
.remove(SOME_KEY_2)
.remove(SOME_KEY_3)
.apply();
}
- 1. ¿Cómo eliminar un par específico de un multimapa en C++?
- 2. obtener SharedPreferences de un servicio
- 3. Ahorro de todo un paquete de SharedPreferences
- 4. ¿Cómo almacenar un objeto Date en SharedPreferences?
- 5. SharedPreferences de diferente actividad
- 6. Limitaciones de Android SharedPreferences?
- 7. ¿Cómo se usa SharedPreferences para guardar más de un valor?
- 8. Archivo SharedPreferences
- 9. eliminar cualquier cosa dentro de un par de paréntesis utilizando gsub en I
- 10. Matriz de filtro - par impar
- 11. Adición de un vector de par
- 12. ¿Contexto de aplicación para SharedPreferences?
- 13. Matriz de cadenas en SharedPreferences
- 14. cifrar datos en SharedPreferences
- 15. Cómo insertar un par en el mapa
- 16. Cómo agregar o eliminar (si ya existe) un par clave => valor a una matriz?
- 17. android sharedpreferences establecer valor
- 18. En SQLAlchemy, ¿cómo creo un par único?
- 19. Comportamiento de SharedPreferences en Actualizar/Desinstalar
- 20. SharedPreferences no se actualiza
- 21. ¿Cómo usar SharedPreferences para guardar un URI o cualquier almacenamiento?
- 22. ¿Cómo eliminar un módulo de CPAN?
- 23. Retirar un par de paréntesis, corchetes o llaves en Vim
- 24. ¿Cómo elimino SharedPreferences desde fuera de una aplicación de Android?
- 25. NullPointerException en SharedPreferences Android
- 26. Guarde los archivos de SharedPreferences en el directorio personalizado u obtenga el directorio predeterminado de SharedPreferences
- 27. Android: ¿Ver archivo SharedPreferences?
- 28. Android: Copiar/Duplicar SharedPreferences
- 29. Android SharedPreferences en Fragment
- 30. Marco de casos múltiples SharedPreferences/archivos
Una pequeña adición a esta respuesta. De la documentación de Android: "Si no le importa el valor de retorno y lo está usando desde el hilo principal de su aplicación, considere usar apply()". –
@silwar, ¿por qué ha reeditado la aplicación() de nuevo a una confirmación()?sabiendo que la documentación dice que se debe usar apply() a menos que queramos trabajar con el valor de retorno, y ni la pregunta ni la respuesta se ajustan a ese caso –