Eliminación de preferencias compartidas
¿Cómo puedo eliminar datos de SharedPreferences para mi aplicación?
Estoy creando una aplicación que utiliza una gran cantidad de servicios web para sincronizar datos. Para propósitos de prueba necesito borrar algunos valores SharedPreferences cuando reinicie la aplicación.
- Guardar datos de ListView utilizando SharedPreferences
- Samsung y Android 2.2.1 compartido pref cuestión
- Alcance de SharedPreferences
- Cómo evitar que una preferencia compartida sea clara al establecer
- ¿Cuál es la diferencia entre commit () y apply () en Shared Preference
- ¿Qué pasará con SharedPreferences al actualizar una aplicación de Android?
- Android SharedPreferences sin guardar
- Cómo hacer que la aplicación vaya a otra página si no se ejecuta por primera vez
- Cómo mostrar sólo una vez Iniciar sesión y luego después de iniciar la aplicación directamente en android
- Preferencias compartidas de Android en diferentes aplicaciones
- Ciclo de vida de Android SharedPreference
- Copia de seguridad / restauración de preferencias compartidas android
- Uso de preferencias compartidas entre actividades
Para eliminar valores específicos: SharedPreferences.Editor.remove () seguido de un commit()
Para eliminarlos todos SharedPreferences.Editor.clear()
seguido de un commit()
Si no le importa el valor de retorno y lo está utilizando desde el hilo principal de su aplicación, considere utilizar apply()
lugar.
Mi solución:
SharedPreferences preferences = getSharedPreferences("Mypref", 0); preferences.edit().remove("shared_pref_key").commit();
Eliminación de todas las preferencias:
SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE); settings.edit().clear().commit();
Eliminación de una sola preferencia:
SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE); settings.edit().remove("KeyName").commit();
Si no es necesario eliminarlo cada vez, puede eliminarlo manualmente de: Configuración -> Aplicaciones -> Administrar aplicaciones -> (elija su aplicación) -> Borrar datos o Desinstalar
Cómo eliminar las preferencias compartidas de Android en una sola línea 🙂
context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit();
O apply
para la operación asincrónica sin bloqueo:
this.getSharedPreferences("YOUR_PREFS", 0).edit().clear().apply();
Puede utilizar el shell de adb para hacer esto incluso sin un teléfono con raíces. La única captura es que la aplicación debe ser debuggable.
run-as <your package name> <command>
Por ejemplo:
run-as com.asdf.blah rm /data/data/com.asdf.blah/databases/myDB.db
Alternativamente, puedes hacer lo anterior pero sin el comando que te dirigirá a la raíz del paquete de aplicaciones y te permitirá ejecutar más comandos en el contexto de la aplicación.
Parece que toda la solución no está funcionando completamente o fuera de la muerte
Para borrar todas las preferencias compartidas en una actividad
PreferenceManager.getDefaultSharedPreferences(getBaseContext()). edit().clear().apply();
Llame a esto desde la actividad principal después de crear
Nota que usé
.apply()
en lugar de
.commit()
Usted es libre de elegir commit ();
Editor editor = getSharedPreferences("clear_cache", Context.MODE_PRIVATE).edit(); editor.clear(); editor.commit();
Pruebe este código:
SharedPreferences sharedPreferences = getSharedPreferences("fake", Context.MODE_PRIVATE); SharedPreferences.Editor edit = sharedPreferences.edit(); edit.clear().commit();
PreferenceManager.getDefaultSharedPreferences(context).edit().clear().apply();
// limpiarlos todos
También puede desinstalar manualmente su aplicación utilizando su dispositivo. Luego, cuando reinstale su aplicación, las preferencias compartidas se han restablecido.
En las definiciones de clase
private static final String PREFERENCES = "shared_prefs"; private static final SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(PREFERENCES, MODE_PRIVATE);
Dentro de la clase
public static void deleteAllSharePrefs(){ sharedPreferences.edit().clear().commit(); }
Para borrar todas las SharedPreferences de forma centralizada de cualquier clase:
public static SharedPreferences.Editor getEditor(Context context) { return getPreferences(context).edit(); }
Entonces, de cualquier clase: (Devolver booleano donde puedes comprobar si tus Preferencias se han eliminado o no)
Navigation.getEditor(this).clear().commit();
O bien: puede usar Apply: devuelve void Navigation.getEditor (this) .clear (). Apply ();
Puede use-> preferences.edit().remove("key").commit();
Para eliminar el valor guardado de las preferencias compartidas.
Lo hice esta mañana. Desde un símbolo del sistema:
adb shell cd /data/data/YOUR_PACKAGE_NAME/shared_prefs rm * // to remove all shared preference files rm YOUR_PREFS_NAME.xml // to remove a specific shared preference file
NOTA : Esto requiere un dispositivo enraizado, como los dispositivos virtuales Android, un dispositivo Genymotion o un teléfono / tableta con raíz real, etc.
La forma más rápida de hacer esto durante el desarrollo / prueba sería
Adb uninstall
Ejemplo: $ adb uninstall com.example.myappname
- ¿Cómo se cambia el texto a negrita en Android?
- Detener EditText de obtener foco en inicio de actividad