Прежде всего, исправьте меня, если я ошибаюсь, но если вы закрываете соединение с базой данных, вы не можете использовать курсор, который вы получили от него, правильно?
db.open();
Cursor c = db.query(true, "MyTable", columns, null, null, null, null, null, null);
db.close();
// The Cursor is empty now because the db was closed...
c.moveToNext();
Log.v(TAG, c.toString(0));
Итак, есть ли способ использовать Курсор после закрытия базы данных? Как есть способ передать его в другом месте и использовать его как объект? Или вы всегда должны оставлять соединение с базой данных открытым до тех пор, пока не закончите курсор?