如何使用SQLiteDatabase.CursorFactory

有谁知道如何在Android上使用SQLiteDatabase.CursorFactory ? 我希望获得一个持久的SQLiteCursor对象,该对象使用SQL SELECT语句,其中几个WHERE子句expression式使用可以在重新查询之前以编程方式更改的参数。

例如:

 SELECT LocationID FROM Locations WHERE Latitude  southlimit AND Longitude  westlimit; 

限制参数将动态变化,每200ms一次

我试图解决一个问题,如果我只使用SQLiteDatabase.rawQuery("SELECT ..."); 系统为每个新查询创建一个新的CursorWindow,最终耗尽内存。 所以我试图find一种方法来强制系统不要创建新的CursorWindows。

您可以查看本教程..它总结完美:

http://www.youtube.com/watch?v=j-IV87qQ00M

并且你应该在任何使用之后关闭数据库..另一种方法是创建类variablesCursor cr并且每次使用它时检查:if(cr == null)cr = new …. else //做某事/ /

cr.close();

 myCursor.close(); myDataBaseHelp.close(); 

并记住,提取数据后关闭它!