Cela se produit à cause de :
db.close();
dans les méthodes :
void addContact(Contact contact)
public void deleteContact(Contact contact)
Vous ne devez pas fermer la connexion à la base de données sous-jacente, sauf si vous vraiment n'avez plus l'intention de travailler avec. Utilisez SQLiteOpenHelper:close
, lorsque vous avez terminé votre travail.
De plus, les appels à getReadableDatabase()
et getWriteableDatabase()
renvoient le même objet de base de données 99 % du temps, et ils ne le font pas réinitialiser la connexion à la base de données que vous avez fermée manuellement.
Ne vous laissez pas berner par ces noms de méthodes.