to top
Android APIs
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 Constants
From interface android.database.Cursor
[Expand]
Inherited Fields
From class android.database.AbstractWindowedCursor
From class android.database.AbstractCursor
Public Constructors
SQLiteCursor(SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query)
This constructor was deprecated in API level 11. use SQLiteCursor(SQLiteCursorDriver, String, SQLiteQuery) instead
SQLiteCursor(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()
Get the database that this cursor is associated with.
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.
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)
Sets a new cursor window for the cursor to use.
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
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Public Constructors

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

Added in API level 1

This constructor was deprecated in API level 11.
use SQLiteCursor(SQLiteCursorDriver, String, SQLiteQuery) instead

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.

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

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

Added in API level 11

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.

Parameters
editTable the name of the table used for this query
query the SQLiteQuery object associated with this cursor object.

Public Methods

public void close ()

Added in 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 ()

Added in 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)

Added in 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 ()

Added in 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 ()

Added in API level 1

Returns the numbers of rows in the cursor.

Returns
  • the number of rows in the cursor.

public SQLiteDatabase getDatabase ()

Added in API level 1

Get the database that this cursor is associated with.

Returns
  • the SQLiteDatabase that this cursor is associated with.

public boolean onMove (int oldPosition, int newPosition)

Added in 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 boolean requery ()

Added in 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(). Since this method could execute a query on the database and potentially take a while, it could cause ANR if it is called on Main (UI) thread. A warning is printed if this method is being executed on Main thread.

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

public void setSelectionArguments (String[] selectionArgs)

Added in API level 1

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

public void setWindow (CursorWindow window)

Added in API level 1

Sets a new cursor window for the cursor to use.

The cursor takes ownership of the provided cursor window; the cursor window will be closed when the cursor is closed or when the cursor adopts a new cursor window.

If the cursor previously had a cursor window, then it is closed when the new cursor window is assigned.

Parameters
window The new cursor window, typically a remote cursor window.

Protected Methods

protected void finalize ()

Added in API level 1

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