De truc is heel eenvoudig, sluit de database niet, reset gewoon de DBHelper
.
Dus de heropeningsmethode zou kunnen zijn:-
public static void reopen(Context context) {
instance = new DBHelper(context);
}
Je kunt natuurlijk ook de tekst weglaten die de gebruiker vertelt de app te sluiten en opnieuw te starten.
Dus de code die een succesvol herstel detecteert en rapporteert, kan zijn:-
if(copytaken && origdeleted && restoredone) {
errlist.add("Database successfully restored.");
resulttitle = "Restore was successful.";
DBHelper.reopen(context); <== implemented as below
}