Nó xảy ra vì:
db.close();
trong các phương pháp:
void addContact(Contact contact)
public void deleteContact(Contact contact)
Bạn không nên đóng kết nối với cơ sở dữ liệu bên dưới trừ khi bạn thực sự không có ý định làm việc với nó nữa. Sử dụng SQLiteOpenHelper:close
, khi bạn đã hoàn thành công việc của mình.
Hơn nữa, các lệnh gọi đến getReadableDatabase()
và getWriteableDatabase()
trả lại cùng một đối tượng cơ sở dữ liệu 99% một lần và chúng không khởi động lại kết nối cơ sở dữ liệu do bạn đóng theo cách thủ công.
Đừng để bị lừa bởi những tên phương thức này.