public class CursorWrapper
extends Object
implements Cursor
java.lang.Object | |
↳ | android.database.CursorWrapper |
Known Direct Subclasses |
将Cursor的所有调用委托给实际的游标对象。 该类的主要用途是扩展游标,而仅覆盖其方法的子集。
Inherited constants |
---|
From interface android.database.Cursor
|
Public constructors |
|
---|---|
CursorWrapper(Cursor cursor) 创建一个游标包装器。 |
Public methods |
|
---|---|
void |
close() 关闭光标,释放其所有资源并使其完全无效。 |
void |
copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) 检索请求的列文本并将其存储在提供的缓冲区中。 |
void |
deactivate() 取消激活光标,使所有调用失败,直到调用 |
byte[] |
getBlob(int columnIndex) 以字节数组的形式返回请求的列的值。 |
int |
getColumnCount() 返回总列数 |
int |
getColumnIndex(String columnName) 返回给定列名称的从零开始的索引,如果该列不存在,则返回-1。 |
int |
getColumnIndexOrThrow(String columnName) 返回给定列名称的从零开始的索引,如果该列不存在则返回 |
String |
getColumnName(int columnIndex) 返回给定的从零开始的列索引处的列名称。 |
String[] |
getColumnNames() 以结果中列出的顺序返回一个字符串数组,其中包含结果集中所有列的名称。 |
int |
getCount() 返回游标中的行数。 |
double |
getDouble(int columnIndex) 以double形式返回请求的列的值。 |
Bundle |
getExtras() 返回一组额外的值。 |
float |
getFloat(int columnIndex) 以浮点形式返回请求的列的值。 |
int |
getInt(int columnIndex) 以int形式返回请求的列的值。 |
long |
getLong(int columnIndex) 以long形式返回请求列的值。 |
Uri |
getNotificationUri() 返回此游标数据中的更改通知将传递的URI,如先前由 |
int |
getPosition() 返回行集合中光标的当前位置。 |
short |
getShort(int columnIndex) 以短为单位返回请求列的值。 |
String |
getString(int columnIndex) 以String形式返回请求的列的值。 |
int |
getType(int columnIndex) 返回给定列值的数据类型。 |
boolean |
getWantsAllOnMoveCalls() 如果此方法返回true,onMove()将仅在进程间调用。 |
Cursor |
getWrappedCursor() 获取由此实例包装的底层游标。 |
boolean |
isAfterLast() 返回指针是否指向最后一行之后的位置。 |
boolean |
isBeforeFirst() 返回光标是否指向第一行之前的位置。 |
boolean |
isClosed() 如果光标关闭,则返回true |
boolean |
isFirst() 返回光标是否指向第一行。 |
boolean |
isLast() 返回指针是否指向最后一行。 |
boolean |
isNull(int columnIndex) 如果指定列中的值为空,则返回 |
boolean |
move(int offset) 从当前位置向前或向后移动光标相对量。 |
boolean |
moveToFirst() 将光标移到第一行。 |
boolean |
moveToLast() 将光标移到最后一行。 |
boolean |
moveToNext() 将光标移到下一行。 |
boolean |
moveToPosition(int position) 将光标移到绝对位置。 |
boolean |
moveToPrevious() 将光标移到上一行。 |
void |
registerContentObserver(ContentObserver observer) 注册一个观察者,当支持该游标的内容发生更改时调用该观察者。 |
void |
registerDataSetObserver(DataSetObserver observer) 注册时的变化发生在该光标数据集的内容被称为,例如一个观察者,当数据集通过改变 |
boolean |
requery() 执行再次创建光标的查询,刷新其内容。 |
Bundle |
respond(Bundle extras) 这是光标与光标通信的用户的一种带外方式。 |
void |
setExtras(Bundle extras) 设置 |
void |
setNotificationUri(ContentResolver cr, Uri uri) 注册以观看更改的内容URI。 |
void |
unregisterContentObserver(ContentObserver observer) 通过 |
void |
unregisterDataSetObserver(DataSetObserver observer) 通过 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.database.Cursor
|
|
From interface java.io.Closeable
|
|
From interface java.lang.AutoCloseable
|
CursorWrapper (Cursor cursor)
创建一个游标包装器。
Parameters | |
---|---|
cursor |
Cursor : The underlying cursor to wrap. |
void copyStringToBuffer (int columnIndex, CharArrayBuffer buffer)
检索请求的列文本并将其存储在提供的缓冲区中。 如果缓冲区大小不够,将分配一个新的字符缓冲区并分配给CharArrayBuffer.data
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. if the target column is null, return buffer |
buffer |
CharArrayBuffer : the buffer to copy the text into. |
void deactivate ()
取消激活光标,使所有调用失败,直到调用requery()
。 非活动游标使用比活动游标更少的资源。 调用requery()
将使光标再次处于活动状态。
byte[] getBlob (int columnIndex)
以字节数组的形式返回请求的列的值。
结果以及当列值为空或列类型不是blob类型时此方法是否引发异常是实现定义的。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
byte[] |
the value of that column as a byte array. |
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. |
int getColumnIndexOrThrow (String columnName)
返回给定列名称的从零开始的索引,如果列不存在则返回IllegalArgumentException
。 如果您不确定列是否存在或不使用getColumnIndex(String)
并检查-1,这比捕获异常更有效。
Parameters | |
---|---|
columnName |
String : the name of the target column. |
Returns | |
---|---|
int |
the zero-based column index for the given column name |
Throws | |
---|---|
IllegalArgumentException |
String getColumnName (int columnIndex)
返回给定的从零开始的列索引处的列名称。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
String |
the column name for the given column index. |
String[] getColumnNames ()
以结果中列出的顺序返回一个字符串数组,其中包含结果集中所有列的名称。
Returns | |
---|---|
String[] |
the names of the columns returned in this query. |
int getCount ()
返回游标中的行数。
Returns | |
---|---|
int |
the number of rows in the cursor. |
double getDouble (int columnIndex)
以double形式返回请求的列的值。
结果以及当列值为空,列类型不是浮点类型或浮点值不可表示时,此方法引发异常,或者由于实现定义了 double
值,因此浮点值不可表示。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
double |
the value of that column as a double. |
Bundle getExtras ()
返回一组额外的值。 这是光标向用户提供带外元数据的可选方式。 其中一种用途是报告为游标提取数据所需的网络请求的进度。
这些值只有在调用重新查询时才会更改。
Returns | |
---|---|
Bundle |
cursor-defined values, or Bundle.EMPTY if there are no values. Never null . |
float getFloat (int columnIndex)
以浮点形式返回请求的列的值。
结果以及当列值为空,列类型不是浮点类型或浮点值不可表示时,此方法引发异常,或者由于实现定义的值为 float
,所以浮点值不可表示。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
float |
the value of that column as a float. |
int getInt (int columnIndex)
以int形式返回请求的列的值。
结果,这种方法是否抛出异常当列值为空,列类型是不是一个整数类型,或者整数值是范围[外 Integer.MIN_VALUE
, Integer.MAX_VALUE
]为实现定义的。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
int |
the value of that column as an int. |
long getLong (int columnIndex)
以long形式返回请求列的值。
结果,这种方法是否抛出异常当列值为空,列类型是不是一个整数类型,或者整数值是范围[外 Long.MIN_VALUE
, Long.MAX_VALUE
]为实现定义的。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
long |
the value of that column as a long. |
Uri getNotificationUri ()
返回此游标数据中的更改通知将传递的URI,如先前由 setNotificationUri(ContentResolver, Uri)
设置的 setNotificationUri(ContentResolver, Uri)
。
Returns | |
---|---|
Uri |
Returns a URI that can be used with ContentResolver.registerContentObserver to find out about changes to this Cursor's data. May be null if no notification URI has been set. |
int getPosition ()
返回行集合中光标的当前位置。 该值是从零开始的。 当行集合第一次返回时,游标将位于第一行之前的位置-1。 在返回最后一行之后,对next()的另一次调用将使游标超过最后一个条目,位于count()的位置。
Returns | |
---|---|
int |
the current cursor position. |
short getShort (int columnIndex)
以短为单位返回请求列的值。
结果,这种方法是否抛出异常当列值为空,列类型是不是一个整数类型,或者整数值是范围[外 Short.MIN_VALUE
, Short.MAX_VALUE
]为实现定义的。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
short |
the value of that column as a short. |
String getString (int columnIndex)
以String形式返回请求的列的值。
结果以及此方法在列值为空或列类型不是字符串类型时是否引发异常是实现定义的。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
String |
the value of that column as a String. |
int getType (int columnIndex)
返回给定列值的数据类型。 列的优选类型的返回,但如在get型方法如中记录的数据可以被转换到其它类型的getInt(int)
, getFloat(int)
等
返回的列类型是
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
int |
column value type |
boolean getWantsAllOnMoveCalls ()
如果此方法返回true,onMove()将仅在进程间调用。
Returns | |
---|---|
boolean |
whether all cursor movement should result in a call to onMove(). |
Cursor getWrappedCursor ()
获取由此实例包装的底层游标。
Returns | |
---|---|
Cursor |
The wrapped cursor. |
boolean isAfterLast ()
返回指针是否指向最后一行之后的位置。
Returns | |
---|---|
boolean |
whether the cursor is after the last result. |
boolean isBeforeFirst ()
返回光标是否指向第一行之前的位置。
Returns | |
---|---|
boolean |
whether the cursor is before the first result. |
boolean isClosed ()
如果光标关闭,则返回true
Returns | |
---|---|
boolean |
true if the cursor is closed. |
boolean isFirst ()
返回光标是否指向第一行。
Returns | |
---|---|
boolean |
whether the cursor is pointing at the first entry. |
boolean isLast ()
返回指针是否指向最后一行。
Returns | |
---|---|
boolean |
whether the cursor is pointing at the last entry. |
boolean isNull (int columnIndex)
如果指定列中的值为空,则返回 true
。
Parameters | |
---|---|
columnIndex |
int : the zero-based index of the target column. |
Returns | |
---|---|
boolean |
whether the column value is null. |
boolean move (int offset)
从当前位置向前或向后移动光标相对量。 正偏移向前移动,负偏移向后移动。 如果最终位置超出结果集的范围,则结果位置将分别固定为-1或count(),具体取决于值是否在集合的前面或结尾。
如果请求的目标可达,此方法将返回true,否则返回false。 例如,如果游标当前位于结果集的第二个条目中,并且调用move(-5),则该位置将被固定为-1,并且返回false。
Parameters | |
---|---|
offset |
int : the offset to be applied from the current position. |
Returns | |
---|---|
boolean |
whether the requested move fully succeeded. |
boolean moveToFirst ()
将光标移到第一行。
如果光标为空,则此方法将返回false。
Returns | |
---|---|
boolean |
whether the move succeeded. |
boolean moveToLast ()
将光标移到最后一行。
如果光标为空,则此方法将返回false。
Returns | |
---|---|
boolean |
whether the move succeeded. |
boolean moveToNext ()
将光标移到下一行。
如果游标已经超过结果集中的最后一个条目,则此方法将返回false。
Returns | |
---|---|
boolean |
whether the move succeeded. |
boolean moveToPosition (int position)
将光标移到绝对位置。 值的有效范围是-1 <= position <= count。
如果请求目标可达,此方法将返回true,否则返回false。
Parameters | |
---|---|
position |
int : the zero-based position to move to. |
Returns | |
---|---|
boolean |
whether the requested move fully succeeded. |
boolean moveToPrevious ()
将光标移到上一行。
如果游标已经在结果集中的第一个条目之前,此方法将返回false。
Returns | |
---|---|
boolean |
whether the move succeeded. |
void registerContentObserver (ContentObserver observer)
注册一个观察者,当支持该游标的内容发生更改时调用该观察者。 通常情况下,数据集不会改变,直到requery()
。
Parameters | |
---|---|
observer |
ContentObserver : the object that gets notified when the content backing the cursor changes. |
void registerDataSetObserver (DataSetObserver observer)
注册时的变化发生在该光标数据集的内容被称为,例如一个观察者,当数据集通过改变 requery()
, deactivate()
,或 close()
。
Parameters | |
---|---|
observer |
DataSetObserver : the object that gets notified when the cursors data set changes. |
boolean requery ()
执行再次创建光标的查询,刷新其内容。 这可以随时完成,包括在致电deactivate()
。 由于此方法可能会在数据库上执行查询并可能需要一段时间,因此如果在Main(UI)线程上调用该方法,则可能会导致ANR。 如果在主线程上执行此方法,则会打印警告。
Returns | |
---|---|
boolean |
true if the requery succeeded, false if not, in which case the cursor becomes invalid. |
Bundle respond (Bundle extras)
这是光标与光标通信的用户的一种带外方式。 每个束的结构完全由光标定义。
其中一个用途是告诉游标在报告错误后应该重试网络请求。
Parameters | |
---|---|
extras |
Bundle : extra values, or Bundle.EMPTY . Never null . |
Returns | |
---|---|
Bundle |
extra values, or Bundle.EMPTY . Never null . |
void setExtras (Bundle extras)
设置 Bundle
返回的 getExtras()
。
Parameters | |
---|---|
extras |
Bundle : Bundle to set, or null to set an empty bundle. |
void setNotificationUri (ContentResolver cr, Uri uri)
注册以观看更改的内容URI。 这可以是特定数据行的URI(例如,“content:// my_provider_type / 23”),也可以是内容类型的通用URI。
Parameters | |
---|---|
cr |
ContentResolver : The content resolver from the caller's context. The listener attached to this resolver will be notified. |
uri |
Uri : The content URI to watch. |
void unregisterContentObserver (ContentObserver observer)
通过 registerContentObserver(ContentObserver)
取消注册先前使用此光标注册的观察者。
Parameters | |
---|---|
observer |
ContentObserver : the object to unregister. |
void unregisterDataSetObserver (DataSetObserver observer)
通过 registerContentObserver(ContentObserver)
取消注册先前已使用此光标注册的观察者。
Parameters | |
---|---|
observer |
DataSetObserver : the object to unregister. |