Това се случва поради:
db.close();
в методите:
void addContact(Contact contact)
public void deleteContact(Contact contact)
Не трябва да затваряте връзката с основната база данни, освен ако не наистина не възнамерявате да работите повече с него. Използвайте SQLiteOpenHelper:close
, когато приключите работата си.
Освен това, извиквания към getReadableDatabase()
и getWriteableDatabase()
връщат един и същ обект на база данни в 99% от случаите, а те не повторно инициализирайте връзката с базата данни, затворена ръчно от вас.
Не се заблуждавайте от тези имена на методи.