Прежде всего, поправьте меня, если я ошибаюсь, но если вы закрываете соединение с базой данных, вы не можете использовать Курсор, который вы получили от него, верно?
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));
Так есть ли способ использовать Курсор после закрытия базы данных? Например, есть ли способ передать его в другое место и использовать его вроде как объект? Или вам всегда нужно оставлять соединение с базой данных открытым, пока не закончите с курсором?