SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Versuchen Sie, ein bereits geschlossenes Objekt sqlitedatabase erneut zu öffnen

Es passiert wegen:

db.close();

in den Methoden:

void addContact(Contact contact)

public void deleteContact(Contact contact)

Sie sollten die Verbindung zur zugrunde liegenden Datenbank nicht schließen, es sei denn, Sie wirklich nicht mehr damit arbeiten wollen. Verwenden Sie SQLiteOpenHelper:close , wenn Sie Ihre Arbeit beendet haben.

Außerdem Aufrufe von getReadableDatabase() und getWriteableDatabase() geben zu 99 % dasselbe Datenbankobjekt zurück, und sie tun es nicht von Ihnen manuell geschlossene Datenbankverbindung neu initialisieren.

Lassen Sie sich nicht von diesen Methodennamen täuschen.