io.realm
此类保存给定 Realm 的RealmQuery的所有匹配项。 这些对象不会从 Realm 复制到 RealmResults 列表,而只是从 RealmResult 引用。 这样可以节省内存并提高速度。
RealmResults 是实时视图,这意味着如果它位于Looper线程上,它将在提交事务后自动更新其查询结果。如果在非事件循环线程上,则必须调用Realm.refresh()来更新结果。
从 RealmResults 列表对 RealmObjects 的更新必须在事务中完成,并且修改的对象在提交事务期间将持久保存到 Realm 文件中。
RealmResults 对象不能在不同线程之间传递。
请注意,RealmResults 永远不会 null ,即使在它不包含对象的情况下也是如此。 应始终使用RealmResults.size() 方法来检查 RealmResults 是否为空。
如果通过RealmList.where()在 RealmList 上构建 RealmResults ,当源 RealmList 被删除时,它将变为空。
RealmResults包含的元素数量可以多于Integer.MAX_VALUE 。 在这种情况下,您只能访问其中的前Integer.MAX_VALUE元素。
方法摘要
修饰符和类型 | 方法和说明 |
|---|---|
public void | |
public void | 向此 RealmResults 添加变更侦听器。 |
public <any> | 返回一个 Rx Observable,用于监控此 RealmResults 的更改。 |
public <any> | asFlowable () 返回一个监控此 RealmResults 变更的 Rx Flowable。 |
公共字符串 | asJSON () 返回RealmQuery匹配项的 JSON 表示形式。 |
freeze () | |
公共布尔值 | isFrozen () |
公共布尔值 | isLoaded () 如果尚未加载结果,则返回 |
公共布尔值 | load () 使异步查询阻塞。 |
public void | 删除所有用户定义的变更侦听器。 |
public void | ) 删除指定的变更侦听器。 |
public void | 删除指定的变更侦听器。 |
public void | |
public void | 设置collection内所有对象中给定字段的 |
public void | |
public void | |
public void | 设置collection内所有对象中给定字段的 |
public void | |
public void | |
public void | |
public void | 替换此collection中所有对象上给定字段的 RealmList。 |
public void | |
public void | |
public void | 在collection所有对象中的给定字段上设置对另一个对象的引用。 |
public void | 设置collection内所有对象中给定字段的 |
public void | |
public void | |
public void | |
public void | |
where () 返回一个RealmQuery ,可用于从此collection中查询特定objects。 |
继承方法
从类 java.lang.Object 继承的方法:
getClass、hashCode、equals、clone、toString、notify、notifyAll、wait、wait、wait、finalize从类 java.util.AbstractCollection 继承的方法:
iterator、size、isEmpty、contains、toArray、toArray、add、remove、containsAll、addAll、removeAll、retainAll、clear、toString从类 java.util.AbstractList 继承的方法:
add、get、set、add、remove、indexOf、lastIndexOf、clear、addAll、iterator、listIterator、listIterator、subList、equals、hashCode、removeRange从类io.realm.OrderedRealmCollectionImpl继承的方法:
isValid、isManaged、contains、get、first、first、last、last、deleteFromRealm、deleteAllFromRealm、iterator、listIterator、listIterator、sort、sort、sort、sort、size、min、minDate、max、maxDate、sum、average、remove、remove、removeAll、set、retainAll、deleteLastFromRealm、deleteFirstFromRealm、clear、add、add、addAll、addAll、createSnapshot、getRealm、getCollectionOperator
方法详细信息
addChangeListener
public void addChangeListener ( ) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
向此 RealmResults 添加变更侦听器。 注册变更侦听器不会阻止底层 RealmResults 被垃圾收集。 如果对 RealmResults 进行垃圾回收,则将停止触发变更侦听器。 为避免这种情况,请尽可能长时间地保留强引用,例如在类变量中。 参数
抛出异常
|
向此 RealmResults 添加变更侦听器。 注册变更侦听器不会阻止底层 RealmResults 被垃圾收集。 如果对 RealmResults 进行垃圾回收,则将停止触发变更侦听器。 为避免这种情况,请尽可能长时间地保留强引用,例如在类变量中。 参数
抛出异常
|
asChangesetObservable
public <any> asChangesetObservable () | |||||
|---|---|---|---|---|---|
返回一个 Rx Observable,用于监控此 RealmResults 的更改。 订阅时,它将发出当前的 RealmResults。 每次更新 RealmResult 时,都会发送由 RealmResults 和OrderedCollectionChangeSet组成的对。 首次发出 RealmResults 时,变更集将为 RealmResults 将在 RealmResults 更新时不断发出 - 从Realm Observables 发出的项目被冻结(请参阅冻结()。这意味着它们是不可变的,可以在任何线程上读取。 Realm Observables 始终从持有活动 Realm 的线程中发出项目。 这意味着,如果需要进行进一步处理,建议观察计算调度器上的值: 返回: 仅调用 抛出异常
|
asFlowable
public <any> asFlowable () | |||||||||
|---|---|---|---|---|---|---|---|---|---|
返回一个监控此 RealmResults 变更的 Rx Flowable。 订阅时,它将发出当前的 RealmResults。 RealmResults 将在 RealmResults 更新时不断发出 - 从Realm Flowables 发出的项被冻结(请参阅冻结()。这意味着它们是不可变的,可以在任何线程上读取。 Realm Flowables 始终从保存活动 RealmResults 的线程中发出数据项。 这意味着,如果需要进行进一步处理,建议观察计算调度器上的值: 如果希望 返回: 仅调用 抛出异常
|
asJSON
返回RealmQuery匹配项的 JSON 表示形式。 周期将作为行索引返回。 这是一个用于检查数据或调试目的的辅助方法,该方法可能会拉取一个大字符串,从而导致 OutOfMemory 错误。 返回: JSON 数组的字符串表示形式,其中包含生成的RealmQuery条目。 |
冻结
public RealmResults freeze () |
|---|
IsFrozen
public boolean isFrozen () |
|---|
isLoaded
public boolean isLoaded () |
|---|
如果尚未加载结果,则返回 返回:
|
负载
public boolean load () |
|---|
删除所有变更监听器
public void removeAllChangeListeners () |
|---|
removeChangeListener
public void removeChangeListener ( ) |
|---|
删除指定的变更侦听器。 参数
抛出异常
|
删除指定的变更侦听器。 参数
抛出异常
|
setBlob
设置collection中所有对象的给定字段的二进制值。 参数
抛出异常
|
setBoolean
设置collection内所有对象中给定字段的 参数
抛出异常
|
setByte
设置collection内所有对象中给定字段的 参数
抛出异常
|
setDate
设置collection内所有对象中给定字段的 参数
抛出异常
|
setDecimal128
设置collection内所有对象中给定字段的 参数
抛出异常
|
setDouble
设置collection内所有对象中给定字段的 参数
抛出异常
|
setFloat
设置collection内所有对象中给定字段的 参数
抛出异常
|
setInt
设置collection内所有对象中给定字段的 参数
抛出异常
|
setList
替换此collection中所有对象上给定字段的 RealmList。 参数
抛出异常
|
setLong
设置collection内所有对象中给定字段的 参数
抛出异常
|
setNull
将collection中所有对象的给定字段的值设置为 参数
抛出异常
|
setObject
在collection所有对象中的给定字段上设置对另一个对象的引用。 参数
抛出异常
|
setObjectId
设置collection内所有对象中给定字段的 参数
抛出异常
|
setShort
设置collection内所有对象中给定字段的 参数
抛出异常
|
setString
设置collection内所有对象中给定字段的 参数
抛出异常
|
setUUID
设置collection内所有对象中给定字段的 参数
抛出异常
|
setValue
更新查询结果内所有对象中由 此方法会自动尝试将 使用setInt(string, int)等类型化 setter 比使用此方法更快。 参数
抛出异常
|
sort
根据提供的字段和排序顺序对collection进行排序。 返回: 将创建并返回新的排序RealmResults 。 原始collection保持不变。 覆盖
|
WHERE
public RealmQuery where () |
|---|