2010-11-19 143 views
2

我有一个扩展SQLiteOpenHelper的DatabaseHelper类,使用DBHelper执行数据提取的最佳做法是什么?在Android应用程序上使用DBHelper(SQLite)的最佳做法

在我的DatabaseHelper类中,我有一个方法来帮助我检索查询的结果,如“Select * FROM .....”。结果将被许多其他类使用。

实施例:

Cursor getAllWhitelist(){ 
    SQLite Database db=this.getWritableDatabase(); 
    Cursor cur = db.rawQuery("Select * from WhiteList"); 
    return cur; 
} 

我应该在这个阶段返回一个光标?是否推荐?或者我应该返回一个ArrayList或类似的东西?

你们是怎么做到的?

回答

1

我使用的是什么,存储的值在某个对象或对象的某些ArrayList和返回
请参阅本link

感谢@Austyn马奥尼,因为他告诉我们可以返回游标,如果我们使用startManagingCursor 。此方法允许活动根据活动的生命周期来管理给定游标的生命周期。

+0

返回一个游标就好,你只需要确保在光标传递给它的时候在你的activity中添加一个'startManagingCursor(cursor)'调用。如果你想在'SimpleCursorAdapter'中使用它,你将需要一个不关闭的游标。 – 2011-02-03 18:38:04

+0

感谢@Austyn Mahoney提供的信息。我编辑了我的答案。 – 2011-02-04 04:53:00

0

好的做法是创建一个结果列表并关闭游标和数据库以最大限度地减少连接时间。否则,由于某些限制,您可以关闭连接。这对你的结果列表不好。

+0

如果您需要将光标指定给ListView适配器,这是否会有例外情况?谷歌的例子演示如何使用光标。 – Thomas 2010-11-19 14:11:22

+0

事情是光标不需要连接到数据库。光标是从任何内容提供者获取一些数据的通用接口。 – 2010-11-19 14:35:22

+0

@Thomas你会关心这个例子的片段吗? – 2010-11-19 16:54:49

相关问题