Reference:Android.database.AbstractCursor
From Triled Wiki
android.database
public abstract class android.database.AbstractCursor
| java.lang.Object | ||
| android.database.AbstractCursor | Cursor | |
[edit] Nested Classes
| AbstractCursor.SelfContentObserver | Cursors use this class to track changes others make to their URI. |
[edit] Known Direct Subclasses
AbstractWindowedCursor, ArrayListCursor, MergeCursor[edit] Known Indirect Subclasses
DatabaseContentProvider.DcpCursor, SQLiteCursor
[edit] Summary
[edit] Fields
| protected | ContentResolver | mContentResolver | |||
| protected | Long | mCurrentRowID | |||
| protected | int | mPos | |||
| protected | int | mRowIdColumnIndex | This must be set to the index of the row ID column by any subclass that wishes to support updates. | ||
| protected | HashMap | mUpdatedRows | This HashMap contains a mapping from Long rowIDs to another Map that maps from String column names to new values. |
[edit] Public Constructors
| AbstractCursor () |
[edit] Public Methods
| void | abortUpdates () | ||||
| Reverts all updates made to the cursor since the last call to commitUpdates. | |||||
| void | close () | ||||
| Closes the Cursor, releasing all of its resources and making it completely invalid. | |||||
| boolean | >)">commitUpdates (Map values) | ||||
| Atomically commits all updates to the backing store, as well as the updates included in values. | |||||
| boolean | commitUpdates () | ||||
| Atomically commits all updates to the backing store. | |||||
| abstract | int | count () | |||
| Returns the numbers of rows in the cursor. | |||||
| void | deactivate () | ||||
| Deactivates the Cursor, making all calls on it fail until requery() is called. | |||||
| boolean | deleteRow () | ||||
| Removes the row at the current cursor position from the underlying data store. | |||||
| final | boolean | first () | |||
| Move the cursor to the first row. | |||||
| int | getColumnIndex (String columnName) | ||||
| Returns the zero-based index for the given column name. | |||||
| String | getColumnName (int columnIndex) | ||||
| Returns the column name at the given zero-based column index. | |||||
| abstract | 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. | |||||
| abstract | double | getDouble (int column) | |||
| Returns the value of the requested column as a double. | |||||
| Bundle | getExtras () | ||||
| Returns a bundle of extra values. | |||||
| abstract | float | getFloat (int column) | |||
| Returns the value of the requested column as a float. | |||||
| abstract | int | getInt (int column) | |||
| Returns the value of the requested column as an int. | |||||
| abstract | long | getLong (int column) | |||
| Returns the value of the requested column as a long. | |||||
| abstract | short | getShort (int column) | |||
| Returns the value of the requested column as a short. | |||||
| abstract | String | getString (int column) | |||
| Returns the value of the requested column as a String. | |||||
| boolean | getWantsAllOnMoveCalls () | ||||
| onMove() will only be called across processes if this method returns true. | |||||
| boolean | hasUpdates () | ||||
| Returns true if there are pending updates that have not yet been committed. | |||||
| final | boolean | isAfterLast () | |||
| Returns whether the cursor is pointing to the position after the last row. | |||||
| final | boolean | isBeforeFirst () | |||
| Returns whether the cursor is pointing to the position before the first row. | |||||
| final | boolean | isFirst () | |||
| Returns whether the cursor is pointing to the first row. | |||||
| final | boolean | isLast () | |||
| Returns whether the cursor is pointing to the last row. | |||||
| abstract | boolean | isNull (int column) | |||
| Returns true if the value in the indicated column is null. | |||||
| final | boolean | last () | |||
| Move the cursor to the last row. | |||||
| final | boolean | move (int offset) | |||
| Move the cursor by a relative amount, forward or backward, from the current position. | |||||
| final | boolean | moveTo (int position) | |||
| Move the cursor to an absolute position. | |||||
| final | boolean | next () | |||
| Move the cursor to the next row. | |||||
| final | int | position () | |||
| Returns the current position of the cursor in the row set. | |||||
| final | boolean | prev () | |||
| 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 () | ||||
| Performs the query that created the cursor again, refreshing its contents. | |||||
| 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 notifyUri) | ||||
| Specifies a content URI to watch for changes. | |||||
| boolean | supportsUpdates () | ||||
| Returns true if the cursor supports updates. | |||||
| void | unregisterContentObserver (ContentObserver observer) | ||||
| Unregister an observer that has previously been registered with this cursor via registerContentObserver(ContentObserver). | |||||
| void | unregisterDataSetObserver (DataSetObserver observer) | ||||
| Unregister an observer that has previously been registered with this cursor via registerContentObserver(ContentObserver). | |||||
| boolean | update (int columnIndex, Object obj) | ||||
| boolean | updateDouble (int columnIndex, double value) | ||||
| Updates the value for the given column in the row the cursor is currently pointing at. | |||||
| boolean | updateFloat (int columnIndex, float value) | ||||
| Updates the value for the given column in the row the cursor is currently pointing at. | |||||
| boolean | updateInt (int columnIndex, int value) | ||||
| Updates the value for the given column in the row the cursor is currently pointing at. | |||||
| boolean | updateLong (int columnIndex, long value) | ||||
| Updates the value for the given column in the row the cursor is currently pointing at. | |||||
| boolean | updateShort (int columnIndex, short value) | ||||
| Updates the value for the given column in the row the cursor is currently pointing at. | |||||
| boolean | updateString (int columnIndex, String value) | ||||
| Updates the value for the given column in the row the cursor is currently pointing at. | |||||
| boolean | updateToNull (int columnIndex) | ||||
| Removes the value for the given column in the row the cursor is currently pointing at. | |||||
[edit] Protected Methods
| void | checkPosition () | ||||
| This function throws CursorIndexOutOfBoundsException if the cursor position is out of bounds. | |||||
| void | finalize () | ||||
| Called by the virtual machine when there are no longer any (non-weak) references to the receiver. | |||||
| Object | getUpdatedField (int columnIndex) | ||||
| This function returns the uncommitted updated value for the field at columnIndex. | |||||
| boolean | isFieldUpdated (int columnIndex) | ||||
| This function returns true if the field has been updated and is used in conjunction with getUpdatedField(int) to allow subclasses to support reading uncommitted updates. | |||||
| void | onChange (boolean selfChange) | ||||
| Subclasses must call this method when they finish committing updates to notify all observers. | |||||
| 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. | |||||
[edit] Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait[edit] Methods inherited from interface android.database.Cursor
abortUpdates, close, >)">commitUpdates, commitUpdates, count, deactivate, deleteRow, first, getColumnIndex, getColumnName, getColumnNames, getDouble, getExtras, getFloat, getInt, getLong, getShort, getString, getWantsAllOnMoveCalls, hasUpdates, isAfterLast, isBeforeFirst, isFirst, isLast, isNull, last, move, moveTo, next, position, prev, registerContentObserver, registerDataSetObserver, requery, respond, setNotificationUri, supportsUpdates, unregisterContentObserver, unregisterDataSetObserver, updateDouble, updateFloat, updateInt, updateLong, updateShort, updateString, updateToNull
[edit] Details
[edit] Fields
[edit] protected ContentResolver mContentResolver
[edit] protected Long mCurrentRowID
[edit] protected int mPos
[edit] protected int mRowIdColumnIndex
This must be set to the index of the row ID column by any subclass that wishes to support updates.
[edit] protected HashMap mUpdatedRows
This HashMap contains a mapping from Long rowIDs to another Map that maps from String column names to new values. A NULL value means to remove an existing value, and all numeric values are in their Java class forms, i.e. Integer, Long, Float, etc.
[edit] Public Constructors
[edit] public AbstractCursor()
[edit] Public Methods
[edit] public void abortUpdates()
Reverts all updates made to the cursor since the last call to commitUpdates.
[edit] public void close()
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.
[edit] public boolean commitUpdates(Map values)
Atomically commits all updates to the backing store, as well as the updates included in values. After completion, this method leaves the data in an inconsistent state and you should call requery() before reading data from the cursor again.
[edit] public boolean commitUpdates()
Atomically commits all updates to the backing store. After completion, this method leaves the data in an inconsistent state and you should call requery() before reading data from the cursor again.
[edit] public abstract int count()
Returns the numbers of rows in the cursor.
[edit] public void deactivate()
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.
[edit] public boolean deleteRow()
Removes the row at the current cursor position from the underlying data store. After this method returns the cursor will be pointing to the row after the row that is deleted. This has the side effect of decrementing the result of count() by one.
[edit] public final boolean first()
Move the cursor to the first row.
This method will return false if the cursor is empty.
[edit] public int getColumnIndex(String columnName)
Returns the zero-based index for the given column name.
[edit] public String getColumnName(int columnIndex)
Returns the column name at the given zero-based column index.
[edit] public abstract 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.
[edit] public abstract double getDouble(int column)
Returns the value of the requested column as a double.
If the native content of that column is not numeric the result will be the result of passing the column value to Double.valueOf(x).
[edit] public Bundle getExtras()
Returns a bundle of extra values. This is an optional way for cursors to provide out-of-band metadata to their users. One use of this is for reporting on the progress of network requests that are required to fetch data for the cursor.
These values may only change when requery is called.
[edit] public abstract float getFloat(int column)
Returns the value of the requested column as a float.
If the native content of that column is not numeric the result will be the result of passing the column value to Float.valueOf(x).
[edit] public abstract int getInt(int column)
Returns the value of the requested column as an int.
If the native content of that column is not numeric the result will be the result of passing the column value to Integer.valueOf(x).
[edit] public abstract long getLong(int column)
Returns the value of the requested column as a long.
If the native content of that column is not numeric the result will be the result of passing the column value to Long.valueOf(x).
[edit] public abstract short getShort(int column)
Returns the value of the requested column as a short.
If the native content of that column is not numeric the result will be the result of passing the column value to Short.valueOf(x).
[edit] public abstract String getString(int column)
Returns the value of the requested column as a String.
If the native content of that column is not text the result will be the result of passing the column value to String.valueOf(x).
[edit] public boolean getWantsAllOnMoveCalls()
onMove() will only be called across processes if this method returns true.
[edit] public boolean hasUpdates()
Returns true if there are pending updates that have not yet been committed.
Returns
- true if there are pending updates that have not yet been committed.
[edit] public final boolean isAfterLast()
Returns whether the cursor is pointing to the position after the last row.
[edit] public final boolean isBeforeFirst()
Returns whether the cursor is pointing to the position before the first row.
[edit] public final boolean isFirst()
Returns whether the cursor is pointing to the first row.
[edit] public final boolean isLast()
Returns whether the cursor is pointing to the last row.
[edit] public abstract boolean isNull(int column)
Returns true if the value in the indicated column is null.
[edit] public final boolean last()
Move the cursor to the last row.
This method will return false if the cursor is empty.
[edit] public final boolean move(int offset)
Move the cursor by a relative amount, forward or backward, from the current position. Positive offsets move forwards, negative offsets move backwards. If the final position is outside of the bounds of the result set then the resultant position will be pinned to -1 or count() depending on whether the value is off the front or end of the set, respectively.
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.
[edit] public final boolean moveTo(int position)
Move the cursor to an absolute position. The valid range of values is -1 <= position <= count.
This method will return true if the request destination was reachable, otherwise, it returns false.
[edit] public final boolean next()
Move the cursor to the next row.
This method will return false if the cursor is already past the last entry in the result set.
[edit] public final int position()
Returns the current position of the cursor in the row set. The value is zero-based. When the row set is first returned the cursor will be at positon -1, which is before the first row. After the last row is returned another call to next() will leave the cursor past the last entry, at a position of count().
[edit] public final boolean prev()
Move the cursor to the previous row.
This method will return false if the cursor is already before the first entry in the result set.
[edit] public void registerContentObserver(ContentObserver observer)
Register an observer that is called when changes happen to the content backing this cursor. Typically the data set won't change until requery() is called.
[edit] public 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().
[edit] public boolean requery()
Performs the query that created the cursor again, refreshing its contents. This may be done at any time, including after a call to deactivate().
[edit] public Bundle respond(Bundle extras)
This is an out-of-band way for the the user of a cursor to communicate with the cursor. The structure of each bundle is entirely defined by the cursor.
One use of this is to tell a cursor that it should retry its network request after it reported an error.
[edit] public void setNotificationUri(ContentResolver cr, Uri notifyUri)
Specifies a content URI to watch for changes.
Parameters
| cr | The content resolver from the caller's context. |
|---|---|
| notifyUri | The URI to watch for changes. This can be a specific row URI, or a base URI for a whole class of content. |
[edit] public boolean supportsUpdates()
Returns true if the cursor supports updates.
[edit] public void unregisterContentObserver(ContentObserver observer)
Unregister an observer that has previously been registered with this cursor via registerContentObserver(ContentObserver).
[edit] public void unregisterDataSetObserver(DataSetObserver observer)
Unregister an observer that has previously been registered with this cursor via registerContentObserver(ContentObserver).
[edit] public boolean update(int columnIndex, Object obj)
[edit] public boolean updateDouble(int columnIndex, double value)
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] public boolean updateFloat(int columnIndex, float value)
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] public boolean updateInt(int columnIndex, int value)
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] public boolean updateLong(int columnIndex, long value)
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] public boolean updateShort(int columnIndex, short value)
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] public boolean updateString(int columnIndex, String value)
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] public boolean updateToNull(int columnIndex)
Removes the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until commitUpdates() is called.
[edit] Protected Methods
[edit] protected void checkPosition()
This function throws CursorIndexOutOfBoundsException if the cursor position is out of bounds. Subclass implementations of the get functions should call this before attempting to retrieve data.
Throws
| CursorIndexOutOfBoundsException |
|---|
[edit] protected void finalize()
Called by the virtual machine when there are no longer any (non-weak) references to the receiver. Subclasses can use this facility to guarantee that any associated resources are cleaned up before the receiver is garbage collected. Uncaught exceptions which are thrown during the running of the method cause it to terminate immediately, but are otherwise ignored.
Note: The virtual machine assumes that the implementation in class Object is empty.
[edit] protected Object getUpdatedField(int columnIndex)
This function returns the uncommitted updated value for the field at columnIndex. NOTE: This function and isFieldUpdated(int) should be called together inside of a block synchronized on mUpdatedRows.
Parameters
| columnIndex | the column index of the field to retrieve |
|---|
Returns
- the updated value
[edit] protected boolean isFieldUpdated(int columnIndex)
This function returns true if the field has been updated and is used in conjunction with getUpdatedField(int) to allow subclasses to support reading uncommitted updates. NOTE: This function and getUpdatedField(int) should be called together inside of a block synchronized on mUpdatedRows.
Parameters
| columnIndex | the column index of the field to check |
|---|
Returns
- true if the field has been updated, false otherwise
[edit] protected void onChange(boolean selfChange)
Subclasses must call this method when they finish committing updates to notify all observers.
[edit] protected 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. 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
[edit] References
- Original documentation page for Android SDK build m5-rc15e - 14 apr 2008 17:27
