我想知道如果有人可以給我一個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