接口 SubscriptionSet
在此页面上
io.realm.mongodb.sync
实现的接口:
订阅设立是已配置为 Flexible 同步的给定Realm的所有当前Subscription的不可变视图。
Flexible Sync 是一种使用RealmQuery定义与设备同步哪些数据或从设备同步哪些数据的方法。 查询及其元数据由订阅表示。
因此,订阅集定义了设备可用并与服务器同步的所有数据。 如果订阅集遇到错误,例如包含无效查询,则整个订阅集将进入SubscriptionSet.State.ERROR状态,并且在修复错误之前不会进行同步。
如果订阅被删除,相应的数据也会被删除,但只是从设备中删除。 它不会在服务器上删除。
可以在离线状态下修改订阅设立,但在getState()返回SubscriptionSet.State.COMPLETE之前,服务器不会接受修改。
可以使用waitForSynchronization()及其变体强制订阅设立与服务器同步。
嵌套类摘要
修饰符和类型 | 类和描述 |
---|---|
public static final | |
public static interface | |
public static interface | |
public static interface |
方法摘要
修饰符和类型 | 方法和说明 |
---|---|
公开订阅 | |
公开订阅 | 查找包含给定查询的第一个订阅。 |
公共string | 如果getState()返回State.ERROR ,此方法将返回原因。 |
getState () 返回 SubscriptionSet 的当前状态。 | |
公共整型 | size () 返回此订阅集中当前有多少个订阅。 |
修改订阅集。 | |
异步修改订阅集。 | |
公共布尔值 | 等待订阅集与服务器同步。 |
公共布尔值 | 等待订阅集与服务器同步。 |
) 异步等待订阅集与服务器同步。 | |
异步等待订阅集与服务器同步。 |
继承方法
方法详细信息
find
查找具有给定名称的订阅。 参数
返回: 匹配的订阅,如果未找到具有该名称的订阅,则为 |
查找包含给定查询的第一个订阅。 多个命名订阅可能包含相同的查询。 参数
返回: 包含查询的第一个订阅,如果未找到匹配项,则为 |
getErrorMessage
public String getErrorMessage () |
---|
如果getState()返回State.ERROR ,此方法将返回原因。 可以通过相应地修改订阅,然后调用waitForSynchronization()来修复错误。 返回: 如果订阅设立处于State.ERROR状态,则为根本的错误。 对于所有其他状态,将返回 |
getState
public SubscriptionSet.State getState () |
---|
size
public int size () |
---|
返回此订阅集中当前有多少个订阅。 返回: 订阅集中的订阅数量。 |
update
修改订阅集。 如果在更新过程中引发异常,则不会应用任何更改。 如果更新成功,则该订阅集将更新为已修改状态。 参数
返回: 此订阅集现已更新。 抛出异常
|
updateAsync
异步修改订阅集。 如果在更新过程中引发异常,则不会应用任何更改。 * 参数
返回: 控制异步执行的任务。 |
waitForSynchronization
等待订阅设立与服务器同步。 当服务器接受查询设立并为其下载数据,或者发生错误时,它将返回。 请注意,您需要手动调用Realm.refresh()或等待变更侦听器trigger才能查看下载的数据。 如果发生错误,可以通过getErrorMessage()找到根本的原因。 参数
返回:
抛出异常
|
public boolean waitForSynchronization () |
---|
等待订阅设立与服务器同步。 当服务器接受查询设立并为其下载数据,或者发生错误时,它将返回。 请注意,您需要手动调用Realm.refresh()或等待变更侦听器trigger才能查看下载的数据。 如果发生错误,可以通过getErrorMessage()找到根本的原因。 返回:
|
waitForSynchronizationAsync
) |
---|
异步等待订阅集与服务器同步。 当服务器接受查询集并为其下载数据,或者发生错误时,就会调用回调。 请注意,您需要手动调用Realm.refresh()或等待变更侦听器trigger才能查看下载的数据。 如果发生错误,可以通过getErrorMessage()找到根本原因。 参数
返回:
|
异步等待订阅集与服务器同步。 当服务器接受查询集并为它们下载数据时,或者发生错误时,它将调用回调。 请注意,您需要手动调用Realm.refresh()或等待变更侦听器trigger才能查看下载的数据。 如果发生错误,可以通过getErrorMessage()找到根本原因。 参数
返回:
|