SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment puis-je actualiser/rouvrir une base de données SQLite après l'avoir restaurée, lors de l'utilisation d'un singleton pour l'assistant de base de données

L'astuce est très simple, ne fermez pas la base de données, réinitialisez simplement le DBHelper .

Ainsi, la méthode de réouverture pourrait être :-

public static void reopen(Context context) {
        instance = new DBHelper(context);
    }

Bien sûr, vous pouvez également supprimer le texte indiquant à l'utilisateur de fermer et de redémarrer l'application.

Ainsi, le code qui détecte et signale une restauration réussie pourrait être :-

if(copytaken && origdeleted && restoredone) {
                    errlist.add("Database successfully restored.");
                    resulttitle = "Restore was successful.";
                    DBHelper.reopen(context); <== implemented as below
                }