Meine App verwendet das Muster SyncAdapter
, in dem Benutzeranmeldeinformationen mit AccountManager
und ContentProvider
gespeichert werden, um Daten in einer Datenbank zu speichern.Löschen der Datenbank, wenn ein Konto entfernt wird
Wenn die account
entfernt wird, kann ich die db mit dem in this question beschriebenen Ansatz entfernen. Die db wird entfernt, indem Sie:
boolean deleted = mContext.deleteDatabase(DatabaseHelper.DATABASE_NAME);
Das funktioniert gut, aber wenn ich den Login wieder tun, ist immer noch alles da. Es fühlt sich an, als ob die ContentProvider
nicht weiß, dass die Datenbank entfernt wurde.
In this answer, inazaruk sagt:
Sie müssen sicherstellen, dass Sie den Prozess getötet haben, die Contentprovider hostet, dass bestimmte Datenbankdatei verwendet. Und nur als löschen Sie es.
Das Töten des Prozesses zum Löschen einer db fühlt sich nicht richtig an.
Gibt es eine bessere Sache zu tun?
erwähnt Warum die Datenbankdatei löschen? Werden die Daten nicht ausreichend aus der Datenbank entfernt? – zapl
@zapl: Ja. Ich könnte etwas wie 'löschen von der Tabelle;' machen – Macarse