sql >> Base de Datos >  >> RDS >> SQLite

¿Cómo puedo actualizar/reabrir una base de datos SQLite después de restaurarla, cuando uso un singleton para el asistente de la base de datos?

El truco es muy simple, no cierre la base de datos, simplemente reinicie el DBHelper .

Así que el método de reapertura podría ser:-

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

Por supuesto, también puede eliminar el texto que indica al usuario que cierre y reinicie la aplicación.

Entonces, el código que detecta e informa sobre una restauración exitosa podría ser:-

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