私のアプリケーションには、アクティビティに戻ると、データベースが閉じられているというエラーが表示されるという問題があります。
ERROR/AndroidRuntime(3566): Caused by: java.lang.IllegalStateException: database /data/data/com.kempville.app/databases/MyDB already closed
カーソルのインスタンス化、オープン、インスタンス化、クエリの実行、カーソルのクローズ、およびデータベースのクローズをすべて、onResume() 中に呼び出されるメソッド内で行います。このアクティビティが前面に戻ったときに onResume が呼び出されるたびに、何が開いていると想定されるのかわかりません。
private void getMydata() {
MyDb db;
db = new MyDB(this);
db.open();
Cursor c = db.getInfo(code);
startManagingCursor(c);
if (c.moveToFirst()) {
name = c.getString(c.getColumnIndex("name"));
}
c = fdb.getType(myArray.getString("type"));
startManagingCursor(c);
if (c.moveToFirst()) {
type = c.getString(c.getColumnIndex("type"));
}
c.close();
db.close();