我想知道如果有人可以给我一个Android游标的简要概述。一对夫妇的具体问题:SQLiteDatabases和光标
1 - 我有一个数据库查询后返回游标的方法:只要return语句之前
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 - 如果它是一个局部变量,或者我可以将它留给垃圾收集器清理,我需要在Cursor上调用close吗?
4 - 我的数据库很小,只能用于我的应用程序 - 我可以保持打开吗?
谢谢Alibi。关于4 - 有没有办法检测应用程序何时结束? – barry 2011-03-27 17:13:47
只要您的活动到期时关闭数据库。你可以使用onDestroy方法。 http://www.outofwhatbox.com/blog/2010/12/android-closing-those-database-objects/ – alibi 2011-03-27 17:21:28
它应该是onPause() - 文档说我们不能依靠onDestroy()被调用。 – barry 2011-03-27 17:27:40