Can two or more Android Activities open an sqlite3 database for write?
I have two Activities that need to insert data into the same sqlite database. When the second Activity calls SQLiteOpenHelper.getWriteableDatabase() an IllegalStateException is thrown with the message "SQLiteDatabase created and never closed".
I've been able to avoid the Exception by making my database object a singleton but I'm thinking there must be a better way.
Thanks,
John
解决方案
There's never really more than one Activity running at a time. The easy way to fix this would be to have the first Activity close it's connection before starting the second Activity. You can do this in the onPause() then reopen it in the onResume(). Something like this (very psuedo-code):
MyActivity {
OnResume()
open connection to database
OnPause()
close connection to database
}
This way you're never trying to have more than one connection at a time and the connection is always available.