esperar Para dados remotos iniciais
Configurar isso fará com que o Realm baixe todas as alterações conhecidas do servidor na primeira vez que um Realm for aberto. O Realm não será aberto até que todos os dados tenham sido baixados. Isso significa que, se um dispositivo estiver off-line, o Realm não será aberto.
Como o download de todas as alterações pode ser uma operação demorada que pode bloquear o thread da interface do usuário, os Realms com essa configuração habilitada só devem ser abertos em threads de fundo.
Essa verificação só é imposta na primeira vez que um Realm é criado, exceto se initialSubscriptions tiver sido configurado com rerunOnOpen = true
. Nesse caso, os dados do servidor são baixados toda vez que o Realm é aberto.
Se for condicional quando os dados do servidor devem ser baixados, isso pode ser controlado por meio de SyncSession.downloadAllServerChanges, por exemplo assim:
val user = loginUser()
val config = SyncConfiguration.Builder(user, schema)
.initialSubscriptions { realm ->
add(realm.query<City>())
}
.build()
val realm = Realm.open(config)
if (downloadData) {
realm.syncSession.downloadAllServerChanges(timeout = 30.seconds)
}
Parâmetros
quanto tempo esperar para que o download seja concluído antes que uma io.realm.kotlin.mongodb.Exceptions.DownloadingRealmTimeOutException seja lançada ao abrir o Realm.