public class

SQLiteCursor

extends AbstractWindowedCursor
java.lang.Object
   ↳ android.database.AbstractCursor
     ↳ android.database.AbstractWindowedCursor
       ↳ android.database.sqlite.SQLiteCursor

Class Overview

A Cursor implementation that exposes results from a query on a SQLiteDatabase. SQLiteCursor is not internally synchronized so code using a SQLiteCursor from multiple threads should perform its own synchronization when using the SQLiteCursor.

Summary

[Expand]
Inherited Fields
From class android.database.AbstractWindowedCursor
From class android.database.AbstractCursor
Public Constructors
SQLiteCursor(SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query)
Execute a query and provide access to its result set through a Cursor interface.
Public Methods
void close()
Closes the Cursor, releasing all of its resources and making it completely invalid.
void deactivate()
Deactivates the Cursor, making all calls on it fail until requery() is called.
int getColumnIndex(String columnName)
Returns the zero-based index for the given column name, or -1 if the column doesn't exist.
String[] getColumnNames()
Returns a string array holding the names of all of the columns in the result set in the order in which they were listed in the result.
int getCount()
Returns the numbers of rows in the cursor.
SQLiteDatabase getDatabase()
boolean onMove(int oldPosition, int newPosition)
This function is called every time the cursor is successfully scrolled to a new position, giving the subclass a chance to update any state it may have.
void registerDataSetObserver(DataSetObserver observer)
Register an observer that is called when changes happen to the contents of the this cursors data set, for example, when the data set is changed via requery(), deactivate(), or close().
boolean requery()
Performs the query that created the cursor again, refreshing its contents.
void setSelectionArguments(String[] selectionArgs)
Changes the selection arguments.
void setWindow(CursorWindow window)
Set a new cursor window to cursor, usually set a remote cursor window
Protected Methods
void finalize()
Release the native resources, if they haven't been released yet.
[Expand]
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

Public Constructors

public SQLiteCursor (SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query)

Since: API Level 1

Execute a query and provide access to its result set through a Cursor interface. For a query such as: SELECT name, birth, phone FROM myTable WHERE ... LIMIT 1,20 ORDER BY... the column names (name, birth, phone) would be in the projection argument and everything from FROM onward would be in the params argument. This constructor has package scope.

Parameters
db a reference to a Database object that is already constructed and opened
editTable the name of the table used for this query
query the rest of the query terms cursor is finalized

Public Methods

public void close ()

Since: API Level 1

Closes the Cursor, releasing all of its resources and making it completely invalid. Unlike deactivate() a call to requery() will not make the Cursor valid again.

public void deactivate ()

Since: API Level 1

Deactivates the Cursor, making all calls on it fail until requery() is called. Inactive Cursors use fewer resources than active Cursors. Calling requery() will make the cursor active again.

public int getColumnIndex (String columnName)

Since: API Level 1

Returns the zero-based index for the given column name, or -1 if the column doesn't exist. If you expect the column to exist use getColumnIndexOrThrow(String) instead, which will make the error more clear.

Parameters
columnName the name of the target column.
Returns
  • the zero-based column index for the given column name, or -1 if the column name does not exist.

public String[] getColumnNames ()

Since: API Level 1

Returns a string array holding the names of all of the columns in the result set in the order in which they were listed in the result.

Returns
  • the names of the columns returned in this query.

public int getCount ()

Since: API Level 1

Returns the numbers of rows in the cursor.

Returns
  • the number of rows in the cursor.

public SQLiteDatabase getDatabase ()

Since: API Level 1

Returns
  • the SQLiteDatabase that this cursor is associated with.

public boolean onMove (int oldPosition, int newPosition)

Since: API Level 1

This function is called every time the cursor is successfully scrolled to a new position, giving the subclass a chance to update any state it may have. If it returns false the move function will also do so and the cursor will scroll to the beforeFirst position.

Parameters
oldPosition the position that we're moving from
newPosition the position that we're moving to
Returns
  • true if the move is successful, false otherwise

public void registerDataSetObserver (DataSetObserver observer)

Since: API Level 1

Register an observer that is called when changes happen to the contents of the this cursors data set, for example, when the data set is changed via requery(), deactivate(), or close().

Parameters
observer the object that gets notified when the cursors data set changes.

public boolean requery ()

Since: API Level 1

Performs the query that created the cursor again, refreshing its contents. This may be done at any time, including after a call to deactivate().

Returns
  • true if the requery succeeded, false if not, in which case the cursor becomes invalid.

public void setSelectionArguments (String[] selectionArgs)

Since: API Level 1

Changes the selection arguments. The new values take effect after a call to requery().

public void setWindow (CursorWindow window)

Since: API Level 1

Set a new cursor window to cursor, usually set a remote cursor window

Parameters
window cursor window

Protected Methods

protected void finalize ()

Since: API Level 1

Release the native resources, if they haven't been released yet.