sql >> Databáze >  >> RDS >> SQLite

Jak mohu obnovit/znovu otevřít databázi SQLite po jejím obnovení, když používám singleton jako pomocníka databáze

Trik je velmi jednoduchý, nezavírejte databázi, pouze resetujte DBHelper .

Takže metoda znovuotevření by mohla být:-

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

Samozřejmě můžete také odstranit text, který uživateli říká, aby aplikaci zavřel a restartoval.

Takže kód, který detekuje a hlásí úspěšnou obnovu, by mohl být:-

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


  1. Rozdíl mezi FIELD() a FIND_IN_SET() v MySQL

  2. SQL:Vyberte záznamy, kde VŠECHNY spojené záznamy splňují určitou podmínku

  3. Najděte počet sloupců v tabulce

  4. Jak zadat název primárního klíče v EF-Code-First