Мне было интересно, может ли кто-нибудь дать мне краткий обзор Android-курсоров.Пара конкретных вопросов:
1 - у меня есть метод, который возвращает курсор после запроса к базе данных:
public static Cursor getVehicles()
{
SQLiteDatabase db = vehicleData.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, GET_VEHICLES_FROM_CLAUSE, null, null, null, null, ORDER_BY);
return cursor;
}
Для того, чтобы заняться домашним хозяйством, я попробовал db.close () простодо возврата заявления.Однако это привело к тому, что возвращаемый курсор не содержал строк.Почему это так?
2 - В чем разница между закрытием курсора и закрытием базы данных?
3 - Нужно ли вызывать метод закрытия курсора, если это локальная переменная, или можетЯ оставляю это для сборщика мусора для очистки?
4 - Моя база данных мала и используется только моим приложением - могу ли я просто оставить ее открытой?