public class SQLiteCursor
extends AbstractWindowedCursor
java.lang.Object | |||
↳ | android.database.AbstractCursor | ||
↳ | android.database.AbstractWindowedCursor | ||
↳ | android.database.sqlite.SQLiteCursor |
一个Cursor实现,显示SQLiteDatabase
上查询的SQLiteDatabase
。 SQLiteCursor不在内部同步,因此使用SQLiteCursor时使用多线程SQLiteCursor的代码应该执行自己的同步。
Inherited constants |
---|
From interface android.database.Cursor
|
Inherited fields |
---|
From class android.database.AbstractWindowedCursor
|
From class android.database.AbstractCursor
|
Public constructors |
|
---|---|
SQLiteCursor(SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query) 此构造函数在API级别11中已弃用。 |
|
SQLiteCursor(SQLiteCursorDriver driver, String editTable, SQLiteQuery query) 通过Cursor接口执行查询并提供对其结果集的访问。 |
Public methods |
|
---|---|
void |
close() 关闭光标,释放其所有资源并使其完全无效。 |
void |
deactivate() 取消激活光标,使所有调用失败,直到调用 |
int |
getColumnIndex(String columnName) 返回给定列名称的从零开始的索引,如果该列不存在,则返回-1。 |
String[] |
getColumnNames() 以结果中列出的顺序返回一个字符串数组,其中包含结果集中所有列的名称。 |
int |
getCount() 返回游标中的行数。 |
SQLiteDatabase |
getDatabase() 获取与该游标关联的数据库。 |
boolean |
onMove(int oldPosition, int newPosition) 每次将光标成功滚动到新位置时都会调用此函数,从而使子类有机会更新其可能具有的任何状态。 |
boolean |
requery() 执行再次创建光标的查询,刷新其内容。 |
void |
setSelectionArguments(String[] selectionArgs) 更改选择参数。 |
void |
setWindow(CursorWindow window) 设置一个新的光标窗口供光标使用。 |
Protected methods |
|
---|---|
void |
finalize() 如果它们尚未发布,则释放本地资源。 |
Inherited methods |
|
---|---|
From class android.database.AbstractWindowedCursor
|
|
From class android.database.AbstractCursor
|
|
From class java.lang.Object
|
|
From interface android.database.CrossProcessCursor
|
|
From interface android.database.Cursor
|
|
From interface java.io.Closeable
|
|
From interface java.lang.AutoCloseable
|
SQLiteCursor (SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query)
此构造函数在API级别11中已弃用。
改为使用SQLiteCursor(SQLiteCursorDriver, String, SQLiteQuery)
通过Cursor接口执行查询并提供对其结果集的访问。 对于诸如: SELECT name, birth, phone FROM myTable WHERE ... LIMIT 1,20 ORDER BY...
的查询,列名(姓名,出生地,电话)将在投影参数中,并且从FROM
开始的所有内容都将在参数参数中。
Parameters | |
---|---|
db |
SQLiteDatabase : a reference to a Database object that is already constructed and opened. This param is not used any longer |
driver |
SQLiteCursorDriver
|
editTable |
String : the name of the table used for this query |
query |
SQLiteQuery : the rest of the query terms cursor is finalized |
SQLiteCursor (SQLiteCursorDriver driver, String editTable, SQLiteQuery query)
通过Cursor接口执行查询并提供对其结果集的访问。 对于诸如: SELECT name, birth, phone FROM myTable WHERE ... LIMIT 1,20 ORDER BY...
的查询,列名(姓名,出生地,电话)将在投影参数中,并且从FROM
开始的所有内容都将在参数参数中。
Parameters | |
---|---|
driver |
SQLiteCursorDriver
|
editTable |
String : the name of the table used for this query |
query |
SQLiteQuery : the SQLiteQuery object associated with this cursor object. |
void deactivate ()
取消激活光标,使所有调用失败,直到调用requery()
。 非活动游标使用比活动游标更少的资源。 调用requery()
将使光标再次激活。
int getColumnIndex (String columnName)
返回给定列名称的从零开始的索引,如果该列不存在,则返回-1。 如果您希望该列存在, getColumnIndexOrThrow(String)
改为使用getColumnIndexOrThrow(String)
,这会使错误更加清晰。
Parameters | |
---|---|
columnName |
String : the name of the target column. |
Returns | |
---|---|
int |
the zero-based column index for the given column name, or -1 if the column name does not exist. |
String[] getColumnNames ()
以结果中列出的顺序返回一个字符串数组,其中包含结果集中所有列的名称。
Returns | |
---|---|
String[] |
the names of the columns returned in this query. |
int getCount ()
返回游标中的行数。
Returns | |
---|---|
int |
the number of rows in the cursor. |
SQLiteDatabase getDatabase ()
获取与该游标关联的数据库。
Returns | |
---|---|
SQLiteDatabase |
the SQLiteDatabase that this cursor is associated with. |
boolean onMove (int oldPosition, int newPosition)
每次将光标成功滚动到新位置时都会调用此函数,从而使子类有机会更新其可能具有的任何状态。 如果它返回false,移动功能也会这样做,并且光标将滚动到beforeFirst位置。
Parameters | |
---|---|
oldPosition |
int : the position that we're moving from |
newPosition |
int : the position that we're moving to |
Returns | |
---|---|
boolean |
true if the move is successful, false otherwise |
boolean requery ()
执行再次创建光标的查询,刷新其内容。 这可以随时完成,包括致电deactivate()
。 由于此方法可能会在数据库上执行查询并可能需要一段时间,因此如果在Main(UI)线程上调用该方法,则可能会导致ANR。 如果在主线程上执行此方法,则会打印警告。
Returns | |
---|---|
boolean |
true if the requery succeeded, false if not, in which case the cursor becomes invalid. |
void setSelectionArguments (String[] selectionArgs)
更改选择参数。 调用resery()后,新值生效。
Parameters | |
---|---|
selectionArgs |
String
|
void setWindow (CursorWindow window)
设置一个新的光标窗口供光标使用。
游标取得所提供的光标窗口的所有权; 当光标关闭或光标采用新的光标窗口时,光标窗口将会关闭。
如果光标先前有一个光标窗口,则在分配新的光标窗口时它会关闭。
Parameters | |
---|---|
window |
CursorWindow : The new cursor window, typically a remote cursor window. |