public class MergeCursor
extends AbstractCursor
java.lang.Object | ||
↳ | android.database.AbstractCursor | |
↳ | android.database.MergeCursor |
一个易于理解的类,可以让您将一组游标作为单个线性游标呈现。 所提供的游标模式完全取决于MergeCursor的创建者,如果需要的话可能会有所不同。 调用getColumns,getColumnIndex等将返回MergeCursor当前指向的行的值。
Inherited constants |
---|
From interface android.database.Cursor
|
Inherited fields |
---|
From class android.database.AbstractCursor
|
Public constructors |
|
---|---|
MergeCursor(Cursor[] cursors) |
Public methods |
|
---|---|
void |
close() 关闭光标,释放其所有资源并使其完全无效。 |
void |
deactivate() 取消激活光标,使所有调用失败,直到调用 |
byte[] |
getBlob(int column) 以字节数组的形式返回请求的列的值。 |
String[] |
getColumnNames() 以结果中列出的顺序返回一个字符串数组,其中包含结果集中所有列的名称。 |
int |
getCount() 返回游标中的行数。 |
double |
getDouble(int column) 以double形式返回请求的列的值。 |
float |
getFloat(int column) 以浮点形式返回请求的列的值。 |
int |
getInt(int column) 以int形式返回请求的列的值。 |
long |
getLong(int column) 以long形式返回请求列的值。 |
short |
getShort(int column) 以短为单位返回请求列的值。 |
String |
getString(int column) 以String形式返回请求的列的值。 |
int |
getType(int column) 返回给定列值的数据类型。 |
boolean |
isNull(int column) 如果指定列中的值为空,则返回 |
boolean |
onMove(int oldPosition, int newPosition) 每次将光标成功滚动到新位置时都会调用此函数,从而使子类有机会更新其可能具有的任何状态。 |
void |
registerContentObserver(ContentObserver observer) 注册一个观察者,当支持该游标的内容发生更改时调用该观察者。 |
void |
registerDataSetObserver(DataSetObserver observer) 注册时的变化发生在该光标数据集的内容被称为,例如一个观察者,当数据集通过改变 |
boolean |
requery() 执行再次创建光标的查询,刷新其内容。 |
void |
unregisterContentObserver(ContentObserver observer) 通过 |
void |
unregisterDataSetObserver(DataSetObserver observer) 通过 |
Inherited methods |
|
---|---|
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
|
void deactivate ()
取消激活光标,使所有调用失败,直到调用requery()
。 非活动游标使用比活动游标更少的资源。 调用requery()
将使光标再次处于活动状态。
byte[] getBlob (int column)
以字节数组的形式返回请求的列的值。
结果以及当列值为空或列类型不是blob类型时此方法是否引发异常是实现定义的。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
byte[] |
the value of that column as a byte array. |
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 column)
以double形式返回请求的列的值。
结果以及此方法在列值为空,列类型不是浮点类型或浮点值不可表示时引发异常,或者由于实现定义了 double
值,所以浮点值不可表示。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
double |
the value of that column as a double. |
float getFloat (int column)
以浮点形式返回请求的列的值。
结果以及当列值为空,列类型不是浮点类型或浮点值不可表示时,此方法引发异常,或者由于实现定义了 float
值,因此浮点值不可表示。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
float |
the value of that column as a float. |
int getInt (int column)
以int形式返回请求的列的值。
结果,这种方法是否抛出异常当列值为空,列类型是不是一个整数类型,或者整数值是范围[外 Integer.MIN_VALUE
, Integer.MAX_VALUE
]为实现定义的。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
int |
the value of that column as an int. |
long getLong (int column)
以long形式返回请求列的值。
结果,这种方法是否抛出异常当列值为空,列类型是不是一个整数类型,或者整数值是范围[外 Long.MIN_VALUE
, Long.MAX_VALUE
]为实现定义的。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
long |
the value of that column as a long. |
short getShort (int column)
以短为单位返回请求列的值。
结果,这种方法是否抛出异常当列值为空,列类型是不是一个整数类型,或者整数值是范围[外 Short.MIN_VALUE
, Short.MAX_VALUE
]为实现定义的。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
short |
the value of that column as a short. |
String getString (int column)
以String形式返回请求的列的值。
结果以及此方法在列值为空或列类型不是字符串类型时是否引发异常是实现定义的。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
String |
the value of that column as a String. |
int getType (int column)
返回给定列值的数据类型。 列的优选类型的返回,但如在get型方法如中记录的数据可以被转换到其它类型的getInt(int)
, getFloat(int)
等
返回的列类型是
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
int |
column value type |
boolean isNull (int column)
如果指定列中的值为空,则返回 true
。
Parameters | |
---|---|
column |
int : the zero-based index of the target column. |
Returns | |
---|---|
boolean |
whether the column value is null. |
boolean onMove (int oldPosition, int newPosition)
每次将光标成功滚动到新位置时都会调用此函数,从而使子类有机会更新其可能具有的任何状态。 如果它返回false,移动功能也会这样做,并且光标将滚动到beforeFirst位置。
Parameters | |
---|---|
oldPosition |
int : the position that we're moving from |
newPosition |
int : the position that we're moving to |
Returns | |
---|---|
boolean |
true if the move is successful, false otherwise |
void registerContentObserver (ContentObserver observer)
注册一个观察者,当支持该游标的内容发生更改时调用该观察者。 通常情况下, requery()
在调用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. |
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. |