android - studio - Eliminar preferencias compartidas
getsharedpreferences (20)
A partir de API 24 (Nougat) puedes hacer:
context.deleteSharedPreferences("YOUR_PREFS");
Sin embargo, no hay compatibilidad con versiones anteriores, por lo que si está soportando algo menos de 24, quédese con:
context.getSharedPreferences("YOUR_PREFS", Context.MODE_PRIVATE).edit().clear().apply();
¿Cómo elimino los datos de SharedPreferences para mi aplicación?
Estoy creando una aplicación que usa muchos servicios web para sincronizar datos. Para propósitos de prueba, necesito borrar algunos valores de SharedPreferences cuando reinicio la aplicación.
Acabo de hacer esto 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 rooteado, como los dispositivos virtuales de Android, un dispositivo Genymotion o un teléfono / tableta real rooteado, etc.
Borrar todos ellos:
PreferenceManager.getDefaultSharedPreferences(context).edit().clear().apply()
Eliminando todas las preferencias:
SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().clear().commit();
Eliminando una sola preferencia:
SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().remove("KeyName").commit();
Eliminar las preferencias compartidas de Android en una línea :-)
context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit();
O apply
una operación asíncrona sin bloqueo:
this.getSharedPreferences("YOUR_PREFS", 0).edit().clear().apply();
La forma más rápida de hacer esto mientras está desarrollando / probando sería
desinstalar adb
Ejemplo: $ adb uninstall com.example.myappname
Mi solución:
SharedPreferences preferences = getSharedPreferences("Mypref", 0);
preferences.edit().remove("text").commit();
Para borrar todas las referencias compartidas centralmente de cualquier clase:
public static SharedPreferences.Editor getEditor(Context context) {
return getPreferences(context).edit();
}
Y luego de cualquier clase: (Comience devolviendo Booleano donde pueda verificar si sus Preferencias se borraron o no)
Navigation.getEditor(this).clear().commit();
O: puede usar Aplicar: devuelve void Navigation.getEditor (this) .clear (). Apply ();
Para eliminar los pares de valores clave de preferencia, puede hacer fácilmente lo siguiente
getActivity().getSharedPreference().editor().remove("key").apply();
También he desarrollado una biblioteca para una fácil manipulación de las preferencias compartidas. Puede encontrar el siguiente enlace.
Parece que todas las soluciones no están completamente funcionando o muertas.
borrar todas las preferencias compartidas en una actividad
PreferenceManager.getDefaultSharedPreferences(getBaseContext()).
edit().clear().apply();
Llama a esto desde la Actividad Principal después de onCreate.
nota * usé
.apply()
en lugar de
.commit()
usted es libre de elegir commit ();
Prueba este código:
SharedPreferences sharedPreferences = getSharedPreferences("fake", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sharedPreferences.edit();
edit.clear().commit();
Puede use-> preferences.edit().remove("key").commit();
para eliminar el valor guardado de las preferencias compartidas.
Puede usar el shell adb para hacer esto incluso sin un teléfono rooteado. El único inconveniente 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, puede hacer lo anterior pero sin el comando que lo dirigirá a la raíz del paquete de la aplicación y le permitirá ejecutar más comandos en el contexto de la aplicación.
Si es para su prueba. Puedes usar comandos adb.
adb shell pm clear <package name>
Si no es necesario eliminarlo cada vez, puede eliminarlo manualmente desde:
Configuración -> Aplicaciones -> Administrar aplicaciones -> (elija su aplicación) -> Borrar datos o Desinstalar
Nuevas versiones de Android:
Configuración -> Aplicaciones -> (elija su aplicación) -> Almacenamiento -> Borrar datos y Borrar caché
También puede simplemente desinstalar manualmente su aplicación usando su dispositivo. Luego, cuando reinstala 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 eliminar valores específicos: SharedPreferences.Editor.remove() seguido de un commit()
Para eliminarlos a todos, SharedPreferences.Editor.clear()
seguido de un commit()
Si no le importa el valor de retorno y lo está usando desde el hilo principal de su aplicación, considere usar apply()
lugar.
Editor editor = getSharedPreferences("clear_cache", Context.MODE_PRIVATE).edit();
editor.clear();
editor.commit();
- Para eliminar un valor particular,
SharedPreferences.Editor remove (clave de cadena) seguido de un commit () o un apply ()
Para eliminar todos los valores,
SharedPreferences.Editor clear () seguido de un commit () o un apply ()