SyncConfiguration 类
- java.lang.Object
-
- io.realm.RealmConfiguration
-
- io.realm.mongodb.sync.SyncConfiguration
-
public class SyncConfiguration extends RealmConfiguration
SyncConfiguration
用于设置 Realm 数据库,该数据库可在使用 MongoDB Realm 的设备之间进行同步。User
创建 需要有效的SyncConfiguration
}。有关如何获取用户对象的更多信息,请参阅Credentials
和App.loginAsync(Credentials, App.Callback)
。最小的
SyncConfiguration
如下所示。App app = new App("app-id"); User user = app.login(Credentials.anonymous()); SyncConfiguration config = SyncConfiguration.defaultConfiguration(user, "partition-value"); Realm realm = Realm.getInstance(config);
同步 Realm 仅支持可自动检测和执行的附加迁移,因此与普通 Realm 相比,无法访问以下构建器选项:
deleteRealmIfMigrationNeeded()
migration(Migration)
Realm.getInstance(RealmConfiguration)
和Realm.getDefaultInstance()
创建。- 另请参阅:
- 有关同步的更多信息,请参阅Docs。
-
-
嵌套类摘要
嵌套类 修饰符和类型 类 说明 static class
SyncConfiguration.Builder
Builder 用于以流畅的方式构造 SyncConfiguration 的实例。static interface
SyncConfiguration.InitialFlexibleSyncSubscriptions
用于配置初始订阅集的接口。
-
字段摘要
-
从类 io.realm 继承的字段。 RealmConfiguration
DEFAULT_REALM_NAME
-
-
方法摘要
所有方法 静态方法 实例方法 具体方法 已弃用的方法 修饰符和类型 方法 说明 static SyncConfiguration
defaultConfig(User user)
返回给定用户的默认Flexible Sync配置。static SyncConfiguration
defaultConfig(User user, Integer partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。static SyncConfiguration
defaultConfig(User user, Long partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。static SyncConfiguration
defaultConfig(User user, String partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。static SyncConfiguration
defaultConfig(User user, UUID partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。static SyncConfiguration
defaultConfig(User user, ObjectId partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。boolean
equals(Object o)
static RealmConfiguration
forRecovery(String canonicalPath)
返回适用于打开只读、非同步 Realm 的RealmConfiguration
,以恢复任何待处理的更改。static RealmConfiguration
forRecovery(String canonicalPath, byte[] encryptionKey, Object... modules)
返回适用于打开只读、非同步 Realm 的RealmConfiguration
,以恢复任何待处理的更改。SyncSession.ClientResetHandler
getClientResetHandler()
已弃用。SyncSession.ErrorHandler
getErrorHandler()
返回此SyncConfiguration的错误处理程序。long
getInitialRemoteDataTimeout(TimeUnit unit)
返回首次打开 Realm 时下载任何初始数据时定义的超时时间。SyncConfiguration.InitialFlexibleSyncSubscriptions
getInitialSubscriptionsHandler()
返回为此 Realm 配置的初始订阅处理程序。BsonValue
getPartitionValue()
返回此 Realm 分区所依据的值。URI
getServerUrl()
返回与本地 Realm 同步的远程 MongoDB Realm 的服务器 URI。io.realm.internal.OsRealmConfig.SyncSessionStopPolicy
getSessionStopPolicy()
注意:仅供内部使用。SyncClientResetStrategy
getSyncClientResetStrategy()
返回此SyncConfiguration的同步客户端重置策略。String
getUrlPrefix()
返回与 Realm 对象服务器建立同步连接时使用的 url 前缀。User
getUser()
返回用户。int
hashCode()
boolean
isFlexibleSyncConfiguration()
返回此配置是否用于打开为Flexible Sync配置的 Realm。boolean
isPartitionBasedSyncConfiguration()
返回此配置是否用于打开为基于分区的同步配置的 Realm。boolean
shouldDeleteRealmOnLogout()
如果在拥有该文件的User
注销后必须删除该 Realm 文件,则返回true
。boolean
shouldWaitForInitialRemoteData()
如果 Realm 在首次打开之前从远程服务器下载所有已知更改,则返回true
。String
toString()
-
从类 io.realm 继承的方法。 RealmConfiguration
getAssetFilePath, getCompactOnLaunchCallback, getDurability, getEncryptionKey, getFlowFactory, getMaxNumberOfActiveVersions, getMigration, getPath, getRealmDirectory, getRealmFileName, getRealmObjectClasses, getRxFactory, getSchemaVersion, hasAssetFile, isAllowQueriesOnUiThread, isAllowWritesOnUiThread, isReadOnly, isRecoveryConfiguration, shouldDeleteRealmIfMigrationNeeded
-
-
-
-
方法详细信息
-
forRecovery
public static RealmConfiguration forRecovery(String canonicalPath, @Nullable byte[] encryptionKey, @Nullable Object... modules)
返回适用于打开只读、非同步 Realm 的RealmConfiguration
,以恢复任何待处理的更改。 这在尝试打开备份/恢复 Realm 时(客户端重置后)非常有用。- 参数:
canonicalPath
- 此配置定义的 Realm 文件的绝对路径。encryptionKey
- 用于加密/解密 Realm 文件的密钥。modules
- 如果指定,则会将 Realm 模式限制为所提供的模块。- 返回:
- 可离线使用的 RealmConfiguration
-
defaultConfig
public static SyncConfiguration defaultConfig(User user)
返回给定用户的默认Flexible Sync配置。- 参数:
user
- 用于访问 Realm 应用的用户。- 返回:
- 给定用户的默认Flexible Sync配置。
-
defaultConfig
public static SyncConfiguration defaultConfig(User user, @Nullable String partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。- 参数:
user
- 用于访问 Realm 应用的用户。partitionValue
— 标识将同步的远程 Realm 的分区值。- 返回:
- 给定用户和分区值的默认配置。
-
defaultConfig
public static SyncConfiguration defaultConfig(User user, @Nullable Long partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。- 参数:
user
- 用于访问 Realm 应用的用户。partitionValue
— 标识将同步的远程 Realm 的分区值。- 返回:
- 给定用户和分区值的默认配置。
-
defaultConfig
public static SyncConfiguration defaultConfig(User user, @Nullable Integer partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。- 参数:
user
- 用于访问 Realm 应用的用户。partitionValue
— 标识将同步的远程 Realm 的分区值。- 返回:
- 给定用户和分区值的默认配置。
-
defaultConfig
public static SyncConfiguration defaultConfig(User user, @Nullable ObjectId partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。- 参数:
user
- 用于访问 Realm 应用的用户。partitionValue
— 标识将同步的远程 Realm 的分区值。- 返回:
- 给定用户和分区值的默认配置。
-
defaultConfig
public static SyncConfiguration defaultConfig(User user, @Nullable UUID partitionValue)
返回给定用户和分区值的默认基于分区的同步配置。- 参数:
user
- 用于访问 Realm 应用的用户。partitionValue
— 标识将同步的远程 Realm 的分区值。- 返回:
- 给定用户和分区值的默认配置。
-
forRecovery
public static RealmConfiguration forRecovery(String canonicalPath)
返回适用于打开只读、非同步 Realm 的RealmConfiguration
,以恢复任何待处理的更改。 这在尝试打开备份/恢复 Realm 时(客户端重置后)非常有用。 注意:这将使用默认的 Realm 模块(由所有RealmModel
组成),并假设不应使用加密。- 参数:
canonicalPath
- 此配置定义的 Realm 文件的绝对路径。- 返回:
- 可离线使用的 RealmConfiguration
-
getInitialSubscriptionsHandler
public SyncConfiguration.InitialFlexibleSyncSubscriptions getInitialSubscriptionsHandler()
返回为此 Realm 配置的初始订阅处理程序。- 返回:
- 用于配置该 Realm 初始订阅的处理程序。
-
等于
公共布尔等于( @Nullable Object o)
- 覆盖:
equals
课堂上RealmConfiguration
-
hashCode
public int hashCode()
- 覆盖:
hashCode
课堂上RealmConfiguration
-
toString
public String toString()
- 覆盖:
toString
课堂上RealmConfiguration
-
getUser
public User getUser()
返回用户。- 返回:
- 用户。
-
getServerUrl
公共URI getServerUrl()
返回与本地 Realm 同步的远程 MongoDB Realm 的服务器 URI。- 返回:
URI
标识与此本地 Realm 同步的 MongoDB Realm。
-
getErrorHandler
public SyncSession.ErrorHandler getErrorHandler()
返回此SyncConfiguration的错误处理程序。- 返回:
- 错误处理程序。
-
getClientResetHandler
@Deprecated public SyncSession.ClientResetHandler getClientResetHandler()
已弃用。返回此SyncConfiguration的客户端重置处理程序。- 返回:
- 客户端重置处理程序。
-
getSyncClientResetStrategy
public SyncClientResetStrategy getSyncClientResetStrategy()
返回此SyncConfiguration的同步客户端重置策略。- 返回:
- 同步客户端重置策略。
-
shouldDeleteRealmOnLogout
公共布尔shouldDeleteRealmOnLogout()
如果在拥有该文件的User
注销后必须删除该 Realm 文件,则返回true
。- 返回:
true
如果User
注销则必须删除 Realm 文件。 如果允许保留文件,则为false
。
-
shouldWaitForInitialRemoteData
public boolean shouldWaitForInitialRemoteData()
如果 Realm 在首次打开之前从远程服务器下载所有已知更改,则返回true
。- 返回:
true
是否在打开 Realm 之前下载所有远程更改。 如果可以立即打开 Realm,则为false
。
-
getInitialRemoteDataTimeout
public long getInitialRemoteDataTimeout( TimeUnit单位)
返回首次打开 Realm 时下载任何初始数据时定义的超时时间。仅当
shouldWaitForInitialRemoteData()
返回true
时,此值才适用。- 返回:
- Realm 在中止并抛出异常之前等待所有更改下载的时间。
- 另请参阅:
SyncConfiguration.Builder.waitForInitialRemoteData(long, TimeUnit)
-
getSessionStopPolicy
public io.realm.internal.OsRealmConfig.SyncSessionStopPolicy getSessionStopPolicy()
注意:仅供内部使用。 可能会在没有警告的情况下发生更改。 关闭 Realm 后,返回该 Realm 的会话的停止策略。- 返回:
- Realm 关闭后会话使用的停止策略。
-
getPartitionValue
public BsonValue getPartitionValue()
返回此 Realm 分区所依据的值。 分区键是 MongoDB Realm 中定义的一个属性。 所有具有此值的属性的类都将同步到 Realm。- 返回:
- MongoDB Realm 用于将服务器端 MongoDB 数据库分区为可独立同步的 Realm 的值。
- 抛出异常:
IllegalStateException
- 如果此配置用于配置为 Flexible Sync 的域。您可以在调用此方法之前使用isPartitionBasedSyncConfiguration()
进行检查。
-
isFlexibleSyncConfiguration
public boolean isFlexibleSyncConfiguration()
返回此配置是否用于打开为Flexible Sync配置的 Realm。- 返回:
true
如果此配置用于 Flexible Sync Realm,则返回false
。
-
isPartitionBasedSyncConfiguration
public boolean isPartitionBasedSyncConfiguration()
返回此配置是否用于打开为基于分区的同步配置的 Realm。- 返回:
true
如果此配置用于基于分区的 Sync Realm,则返回false
。
-
-