Wie lösche ich SharedPreferences-Daten für meine Anwendung?
Ich erstelle eine Anwendung, die viele Webdienste zum Synchronisieren von Daten verwendet. Zu Testzwecken muss ich beim Neustart der App einige SharedPreferences-Werte löschen.
android
sharedpreferences
Andrew
quelle
quelle
Meine Lösung:
quelle
"text"
.Alle Einstellungen entfernen:
Einzelne Präferenz entfernen:
quelle
KeyName
?Wenn nicht jedes Mal entfernt werden muss, können Sie es manuell entfernen aus:
Neuere Versionen von Android:
quelle
Gemeinsame Android-Einstellungen in einer Zeile löschen :-)
Oder
apply
für nicht blockierenden asynchronen Betrieb:quelle
Scheint, dass nicht alle Lösungen vollständig funktionieren oder tot sind
um alle SharedPreferences in einer Aktivität zu löschen
Rufen Sie dies in der Hauptaktivität nach onCreate auf
note * Ich habe
.apply()
stattdessen verwendet.commit()
, Sie können Commit () frei wählen;quelle
Sie können die ADB-Shell verwenden, um dies auch ohne ein gerootetes Telefon zu tun. Der einzige Haken ist, dass die App debuggbar sein muss.
Zum Beispiel:
Alternativ können Sie einfach das oben Genannte ausführen, jedoch ohne den Befehl, der Sie zum Stamm des App-Pakets weiterleitet und es Ihnen ermöglicht, weitere Befehle im Kontext der App auszuführen.
quelle
run-as
. Sie würden denken, ich hätte dies nach 3 Jahren gefunden ...quelle
Ab API 24 (Nougat) können Sie einfach Folgendes tun:
Es gibt jedoch keine Abwärtskompatibilität. Wenn Sie also weniger als 24 unterstützen, bleiben Sie bei:
quelle
Lösche sie alle:
quelle
Sie können Ihre App auch einfach manuell mit Ihrem Gerät deinstallieren. Wenn Sie Ihre App erneut installieren, wurden die freigegebenen Einstellungen zurückgesetzt.
quelle
In den Klassendefinitionen:
Innerhalb der Klasse:
quelle
Versuchen Sie diesen Code:
quelle
Wenn es für Ihre Tests ist. Sie können adb-Befehle verwenden.
quelle
Dadurch werden die gespeicherten freigegebenen Einstellungen mit dem Namen "someTag" gelöscht.
quelle
SharedPreferences.Editor remove (String key) gefolgt von einem commit () oder einem apply ()
Um alle Werte zu entfernen,
SharedPreferences.Editor clear () gefolgt von einem commit () oder einem apply ()
quelle
Um die Schlüsselwertpaare aus den Einstellungen zu entfernen, können Sie auf einfache Weise Folgendes tun
Ich habe auch eine Bibliothek zur einfachen Bearbeitung gemeinsamer Einstellungen entwickelt. Möglicherweise finden Sie den folgenden Link
https://github.com/farruhha/SimplePrefs
quelle
So löschen Sie alle SharedPreferences zentral aus einer beliebigen Klasse:
Und dann aus jeder Klasse: (Commit gibt einen Booleschen Wert zurück, mit dem Sie überprüfen können, ob Ihre Einstellungen gelöscht wurden oder nicht.)
Oder Sie können anwenden verwenden; es kehrt ungültig zurück
quelle
Ich kann damit Dateien in freigegebenen Einstellungen löschen
quelle
Keine der Antworten funktioniert für mich, da ich viele gemeinsame Einstellungsschlüssel habe.
Angenommen, Sie führen einen Android-Test anstelle eines Komponententests durch.
Es funktioniert für mich Schleife und Löschen durch alle shared_prefs- Dateien.
quelle
Der Kotlin ktx Weg, um alle Einstellungen zu löschen :
Klicken Sie hier, um alle Vorgänge für freigegebene Einstellungen mit Beispielen anzuzeigen
quelle
Sie können
preferences.edit().remove("key").commit()
gespeicherte Werte aus freigegebenen Einstellungen löschen.quelle
Hab das heute morgen gemacht. An einer Eingabeaufforderung:
HINWEIS : Hierfür ist ein gerootetes Gerät erforderlich, z. B. die gängigen virtuellen Android-Geräte, ein Genymotion-Gerät oder ein tatsächlich gerootetes Mobilteil / Tablet usw.
quelle
/data/data
direkt darauf zugreifen zu können!su
nachadb shell
zu öffnen , eine privilegierte Shell.