sql >> Database >  >> RDS >> SQLite

Hoe kan ik een SQLite-database vernieuwen/heropenen nadat ik deze heb hersteld, wanneer ik een singleton gebruik voor de databasehelper?

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
                }


  1. Netbeheer upgraden na handmatige DB-upgrade

  2. Vind waarden die geen getallen bevatten in SQLite

  3. Hoe kan ik regelterugloop en nieuwe regels in Postgresql verwijderen?

  4. Het dumpen van tabellen in orakel 10g met behulp van de PL/SQL-procedure