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.