usar studio getsharedpreferences como android sharedpreferences

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.

https://github.com/farruhha/SimplePrefs


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 ()