Deshazte de la mayoría de tus close()
métodos que está llamando en SQLiteDatabase
. En particular, no llame a close()
en la base de datos que se le pasó en onCreate()
de SQLiteOpenHelper
, y no siga abriendo y cerrando la base de datos.
SQLiteOpenHelper
mantiene la base de datos que recupera con getReadableDatabase()
/getWritableDatabase()
, y el punto es que reutilices ese SQLiteDatabase
abierto objeto, especialmente cuando trabaja en varios subprocesos.