public interface Cursor extends Closeable
Modifier and Type | Field and Description |
---|---|
static int |
FIELD_TYPE_BLOB
Value returned by
getType(int) if the specified column type is blob |
static int |
FIELD_TYPE_FLOAT
Value returned by
getType(int) if the specified column type is float |
static int |
FIELD_TYPE_INTEGER
Value returned by
getType(int) if the specified column type is integer |
static int |
FIELD_TYPE_NULL
Value returned by
getType(int) if the specified column is null |
static int |
FIELD_TYPE_STRING
Value returned by
getType(int) if the specified column type is string |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the Cursor, releasing all of its resources and making it completely invalid.
|
void |
copyStringToBuffer(int columnIndex,
CharArrayBuffer buffer)
Retrieves the requested column text and stores it in the buffer provided.
|
void |
deactivate()
Deprecated.
Since
requery() is deprecated, so too is this. |
byte[] |
getBlob(int columnIndex)
Returns the value of the requested column as a byte array.
|
int |
getColumnCount()
Return total number of columns
|
int |
getColumnIndex(String columnName)
Returns the zero-based index for the given column name, or -1 if the column doesn't exist.
|
int |
getColumnIndexOrThrow(String columnName)
Returns the zero-based index for the given column name, or throws
IllegalArgumentException if the column doesn't exist. |
String |
getColumnName(int columnIndex)
Returns the column name at the given zero-based column index.
|
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.
|
double |
getDouble(int columnIndex)
Returns the value of the requested column as a double.
|
Bundle |
getExtras()
Returns a bundle of extra values.
|
float |
getFloat(int columnIndex)
Returns the value of the requested column as a float.
|
int |
getInt(int columnIndex)
Returns the value of the requested column as an int.
|
long |
getLong(int columnIndex)
Returns the value of the requested column as a long.
|
int |
getPosition()
Returns the current position of the cursor in the row set.
|
short |
getShort(int columnIndex)
Returns the value of the requested column as a short.
|
String |
getString(int columnIndex)
Returns the value of the requested column as a String.
|
int |
getType(int columnIndex)
Returns data type of the given column's value.
|
boolean |
getWantsAllOnMoveCalls()
onMove() will only be called across processes if this method returns true.
|
boolean |
isAfterLast()
Returns whether the cursor is pointing to the position after the last
row.
|
boolean |
isBeforeFirst()
Returns whether the cursor is pointing to the position before the first
row.
|
boolean |
isClosed()
return true if the cursor is closed
|
boolean |
isFirst()
Returns whether the cursor is pointing to the first row.
|
boolean |
isLast()
Returns whether the cursor is pointing to the last row.
|
boolean |
isNull(int columnIndex)
Returns
true if the value in the indicated column is null. |
boolean |
move(int offset)
Move the cursor by a relative amount, forward or backward, from the
current position.
|
boolean |
moveToFirst()
Move the cursor to the first row.
|
boolean |
moveToLast()
Move the cursor to the last row.
|
boolean |
moveToNext()
Move the cursor to the next row.
|
boolean |
moveToPosition(int position)
Move the cursor to an absolute position.
|
boolean |
moveToPrevious()
Move the cursor to the previous row.
|
void |
registerContentObserver(ContentObserver observer)
Register an observer that is called when changes happen to the content backing this cursor.
|
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()
Deprecated.
Don't use this. Just request a new cursor, so you can do this
asynchronously and update your list view once the new cursor comes back.
|
Bundle |
respond(Bundle extras)
This is an out-of-band way for the the user of a cursor to communicate with the cursor.
|
void |
setNotificationUri(ContentResolver cr,
Uri uri)
Register to watch a content URI for changes.
|
void |
unregisterContentObserver(ContentObserver observer)
Unregister an observer that has previously been registered with this
cursor via
registerContentObserver(android.database.ContentObserver) . |
void |
unregisterDataSetObserver(DataSetObserver observer)
Unregister an observer that has previously been registered with this
cursor via
registerContentObserver(android.database.ContentObserver) . |
static final int FIELD_TYPE_NULL
getType(int)
if the specified column is nullstatic final int FIELD_TYPE_INTEGER
getType(int)
if the specified column type is integerstatic final int FIELD_TYPE_FLOAT
getType(int)
if the specified column type is floatstatic final int FIELD_TYPE_STRING
getType(int)
if the specified column type is stringstatic final int FIELD_TYPE_BLOB
getType(int)
if the specified column type is blobint getCount()
int getPosition()
boolean move(int offset)
This method will return true if the requested destination was reachable, otherwise, it returns false. For example, if the cursor is at currently on the second entry in the result set and move(-5) is called, the position will be pinned at -1, and false will be returned.
offset
- the offset to be applied from the current position.boolean moveToPosition(int position)
This method will return true if the request destination was reachable, otherwise, it returns false.
position
- the zero-based position to move to.boolean moveToFirst()
This method will return false if the cursor is empty.
boolean moveToLast()
This method will return false if the cursor is empty.
boolean moveToNext()
This method will return false if the cursor is already past the last entry in the result set.
boolean moveToPrevious()
This method will return false if the cursor is already before the first entry in the result set.
boolean isFirst()
boolean isLast()
boolean isBeforeFirst()
boolean isAfterLast()
int getColumnIndex(String columnName)
getColumnIndexOrThrow(String)
instead, which
will make the error more clear.columnName
- the name of the target column.getColumnIndexOrThrow(String)
int getColumnIndexOrThrow(String columnName) throws IllegalArgumentException
IllegalArgumentException
if the column doesn't exist. If you're not sure if
a column will exist or not use getColumnIndex(String)
and check for -1, which
is more efficient than catching the exceptions.columnName
- the name of the target column.IllegalArgumentException
- if the column does not existgetColumnIndex(String)
String getColumnName(int columnIndex)
columnIndex
- the zero-based index of the target column.String[] getColumnNames()
int getColumnCount()
byte[] getBlob(int columnIndex)
The result and whether this method throws an exception when the column value is null or the column type is not a blob type is implementation-defined.
columnIndex
- the zero-based index of the target column.String getString(int columnIndex)
The result and whether this method throws an exception when the column value is null or the column type is not a string type is implementation-defined.
columnIndex
- the zero-based index of the target column.void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer)
columnIndex
- the zero-based index of the target column.
if the target column is null, return bufferbuffer
- the buffer to copy the text into.short getShort(int columnIndex)
The result and whether this method throws an exception when the
column value is null, the column type is not an integral type, or the
integer value is outside the range [Short.MIN_VALUE
,
Short.MAX_VALUE
] is implementation-defined.
columnIndex
- the zero-based index of the target column.int getInt(int columnIndex)
The result and whether this method throws an exception when the
column value is null, the column type is not an integral type, or the
integer value is outside the range [Integer.MIN_VALUE
,
Integer.MAX_VALUE
] is implementation-defined.
columnIndex
- the zero-based index of the target column.long getLong(int columnIndex)
The result and whether this method throws an exception when the
column value is null, the column type is not an integral type, or the
integer value is outside the range [Long.MIN_VALUE
,
Long.MAX_VALUE
] is implementation-defined.
columnIndex
- the zero-based index of the target column.float getFloat(int columnIndex)
The result and whether this method throws an exception when the
column value is null, the column type is not a floating-point type, or the
floating-point value is not representable as a float
value is
implementation-defined.
columnIndex
- the zero-based index of the target column.double getDouble(int columnIndex)
The result and whether this method throws an exception when the
column value is null, the column type is not a floating-point type, or the
floating-point value is not representable as a double
value is
implementation-defined.
columnIndex
- the zero-based index of the target column.int getType(int columnIndex)
getInt(int)
, getFloat(int)
etc.
Returned column types are
columnIndex
- the zero-based index of the target column.boolean isNull(int columnIndex)
true
if the value in the indicated column is null.columnIndex
- the zero-based index of the target column.void deactivate()
requery()
is deprecated, so too is this.@Deprecated boolean requery()
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.void close()
deactivate()
a call to requery()
will not make the Cursor valid
again.close
in interface AutoCloseable
close
in interface Closeable
boolean isClosed()
void registerContentObserver(ContentObserver observer)
requery()
is called.observer
- the object that gets notified when the content backing the cursor changes.unregisterContentObserver(ContentObserver)
void unregisterContentObserver(ContentObserver observer)
registerContentObserver(android.database.ContentObserver)
.observer
- the object to unregister.registerContentObserver(ContentObserver)
void registerDataSetObserver(DataSetObserver observer)
requery()
, deactivate()
, or close()
.observer
- the object that gets notified when the cursors data set changes.unregisterDataSetObserver(DataSetObserver)
void unregisterDataSetObserver(DataSetObserver observer)
registerContentObserver(android.database.ContentObserver)
.observer
- the object to unregister.registerDataSetObserver(DataSetObserver)
void setNotificationUri(ContentResolver cr, Uri uri)
cr
- The content resolver from the caller's context. The listener attached to
this resolver will be notified.uri
- The content URI to watch.boolean getWantsAllOnMoveCalls()
Bundle getExtras()
These values may only change when requery is called.
Bundle.EMPTY
if there
are no values. Never null
.Bundle respond(Bundle extras)
One use of this is to tell a cursor that it should retry its network request after it reported an error.
extras
- extra values, or Bundle.EMPTY
.
Never null
.Bundle.EMPTY
.
Never null
.