591 Stimmen

So löschen Sie freigegebene Einstellungsdaten aus einer App in Android

Wie lösche ich SharedPreferences-Daten für meine Anwendung?

Ich bin dabei, eine Anwendung zu erstellen, die viele Webdienste zur Synchronisierung von Daten verwendet. Zu Testzwecken muss ich einige SharedPreferences-Werte löschen, wenn ich die Anwendung neu starte.

3voto

Paritosh Punkte 2069

Le site Kotlin ktx Weg zu alle löschen Vorlieben:

val prefs: SharedPreferences = getSharedPreferences("prefsName", Context.MODE_PRIVATE)
prefs.edit(commit = true) {
    clear()
}

Klicken Sie hier für alle Operationen der Gemeinsamen Einstellungen mit Beispielen

3voto

Biplob Das Punkte 2087

Eine Zeile Code in Kotlin:

getSharedPreferences("MY_PREFS_NAME", MODE_PRIVATE).edit().clear().apply()

2voto

Allen Punkte 2451

Keine der Antworten funktioniert bei mir, da ich viele gemeinsame Einstellungsschlüssel habe.

Angenommen, Sie führen einen Android-Test anstelle eines Unit-Tests aus.

Es funktioniert für mich Schleife und löschen durch alle die shared_prefs Dateien.

@BeforeClass wird vor allen Tests und ActivityTestRule ausgeführt

@BeforeClass
public static void setUp() {
    Context context = InstrumentationRegistry.getTargetContext();

    File root = context.getFilesDir().getParentFile();
    String[] sharedPreferencesFileNames = new File(root, "shared_prefs").list();
    for (String fileName : sharedPreferencesFileNames) {
        context.getSharedPreferences(fileName.replace(".xml", ""), Context.MODE_PRIVATE).edit().clear().commit();
    }
}

1voto

new File(context.getFilesDir(), fileName).delete();

Ich kann die Datei in den gemeinsamen Einstellungen damit löschen

0voto

Meine Antwort:

In Java:

SharedPreferences myPrefs = context.getSharedPreferences("My_Pref", Context.MODE_PRIVATE);
myPrefs.edit().remove("my_key").apply();

In Kotlin:

val myPrefs = context.getSharedPreferences("My_Pref", Context.MODE_PRIVATE)
myPrefs.edit().remove("my_key").apply()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X