SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como posso atualizar/reabrir um banco de dados SQLite após restaurá-lo, ao usar um singleton para o auxiliar de banco de dados


O truque é muito simples, não feche o banco de dados apenas redefina o DBHelper .

Portanto, o método de reabertura pode ser:-
public static void reopen(Context context) {
        instance = new DBHelper(context);
    }

Claro, você também pode acabar com o texto dizendo ao usuário para fechar e reiniciar o aplicativo.

Portanto, o código que detecta e relata uma restauração bem-sucedida pode ser:-
if(copytaken && origdeleted && restoredone) {
                    errlist.add("Database successfully restored.");
                    resulttitle = "Restore was successful.";
                    DBHelper.reopen(context); <== implemented as below
                }