io.realm.mongodb.sync
Clase envolvente:
Configuración de sincronización
Generador utilizado para construir instancias de una SyncConfiguration de manera fluida.
Constructores
Constructor y descripción |
|---|
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
Establece si o no | |
Establece si se permiten o no las llamadas a Realm.executeTransaction desde el hilo de UI. | |
público SyncConfiguration | build () Crea RealmConfiguration en función de los parámetros del generador. |
Establece el controlador para cuando se produce un reinicio del cliente. | |
Establece esto para determinar si el archivo Realm debe compactarse antes de devolverlo al usuario. | |
Si se configura esta opción, Realm compactará el archivo Realm si este ha crecido demasiado y se podrá recuperar una cantidad significativa de espacio. | |
Establece la clave de bytes io.realm.Realm#ENCRYPTION_KEY_LENGTH utilizada para cifrar y descifrar el archivo Realm. | |
Establece el controlador de errores utilizado por esta configuración. | |
Establece el FlowFactory utilizado para crear flujos de corrutinas desde objetos Realm. | |
inMemory () Establecer esto creará un Realm en memoria en lugar de guardarlo en el disco. | |
Establece los datos iniciales en io.realm.Realm. | |
Establece las suscripciones iniciales para io.realm.Realm. | |
Establece el número máximo de versiones en vivo en el archivo Realm antes de que se lance una IllegalStateException al intentar escribir más datos. | |
Reemplaza los módulos existentes con uno o más RealmModule. | |
Reemplaza los módulos existentes con uno o más RealmModule. | |
readOnly () Si se configura esto, el Reino pasará a ser de solo lectura y todas las transacciones de escritura realizadas contra este Reino fallarán con una IllegalStateException. | |
Establece RxObservableFactory utilizado para crear Rx Observables a partir de objetos Realm. | |
Establece la versión de esquema del Realm. | |
Establece el controlador para cuando se produce un reinicio del cliente. | |
Establece el controlador para cuando se produce un reinicio del cliente. | |
Si configuras esta opción, el Reino descargará todos los cambios conocidos del servidor la primera vez que se abra un Reino. | |
Si configuras esta opción, el Reino descargará todos los cambios conocidos del servidor la primera vez que se abra un Reino. |
Métodos heredados
Detalle del constructor
Crea una instancia del generador para una SyncConfiguration de Flexible Sync con el usuario dado. Parámetros
Tip
|
Crea una instancia del generador para una sincronización basada en partición SyncConfiguration con el usuario y el valor de partición indicados. Parámetros
|
Crea una instancia del generador para una sincronización basada en partición SyncConfiguration con el usuario y el valor de partición indicados. Parámetros
|
Detalle del método
addModule
Agrega un módulo a los módulos ya definidos. |
permitir consultas en subprocesos de interfaz de usuario
Establece si se permiten o no Realm permite consultas en el hilo principal por defecto. Sin embargo, al hacerlo, la aplicación podría experimentar una pérdida de fotogramas o incluso ANR. Recomendamos desviar las consultas a hilos que no sean de interfaz de usuario o, alternativamente, usar RealmQuery.findAllAsync() o RealmQuery.findFirstAsync(). |
permitir escritura en hilo de interfaz de usuario
Establece si se permiten o no las llamadas a Realm.executeTransaction desde el hilo de UI. ADVERTENCIA: Realm no permite la ejecución de transacciones síncronas en el hilo principal a menos que los usuarios lo acepten explícitamente con este método. Recomendamos desviar las llamadas a |
archivo de activos
Al abrir el Reino por primera vez, en lugar de crear un archivo vacío, se copiará el archivo del Reino desde el archivo de activos proporcionado y se utilizará en su lugar. Esto se puede usar para rellenar previamente el Reino con datos, de modo que no sea necesario descargarlo del servidor. El archivo Realm proporcionado debe ser un Realm sincronizado válido para el usuario dado y debe haber sido creado utilizando la API Realm.writeCopyTo(File). ADVERTENCIA: Esta podría ser una operación larga y lo ideal es que se realice en un hilo en segundo plano. Parámetros
Lanzamientos
|
construir
public SyncConfiguration build () |
|---|
Crea RealmConfiguration en función de los parámetros del generador. Devuelve la SyncConfiguration creada. Lanzamientos
|
Manejador de reinicio del cliente
Establece el controlador para cuando se produce un reinicio del cliente. Si no se configura ningún controlador, se registra un error al reiniciar el cliente. Parámetros
|
compactoAlLanzar
Establece esto para determinar si el archivo Realm debe compactarse antes de devolverse al usuario. Se le pasa el tamaño total del archivo (datos + espacio libre) y los bytes utilizados por los datos del archivo. Parámetros
|
public SyncConfiguration.Builder compactOnLaunch () |
|---|
Al configurar esto, Realm compactará el archivo si este ha crecido demasiado y se puede recuperar una cantidad significativa de espacio.Consulte DefaultCompactOnLaunchCallback para obtener más información. |
clave de cifrado
Establece la clave de bytes io.realm.Realm#ENCRYPTION_KEY_LENGTH utilizada para cifrar y descifrar el archivo Realm. Parámetros
Lanzamientos
|
errorHandler
Establece el gestor de errores utilizado por esta configuración. Solo los errores que no sean manejados por el Parámetros
Lanzamientos
|
Fábrica de flujo
Establece la fábrica de flujos utilizada para crear flujos de corrutinas a partir de objetos de Realm. La fábrica predeterminada es RealmFlowFactory. Parámetros
|
en memoria
public SyncConfiguration.Builder inMemory () |
|---|
Al configurar esto, se creará un dominio en memoria en lugar de guardarlo en el disco. Los dominios en memoria podrían seguir usando espacio en disco si la memoria es insuficiente, pero todos los archivos creados por un dominio en memoria se eliminarán al cerrarlo. Tenga en cuenta que, dado que los dominios en memoria no se almacenan en memoria, debe asegurarse de conservar al menos una referencia no cerrada al objeto del dominio en memoria con el nombre específico mientras desee que los datos perduren. |
initialData
Establece los datos iniciales en io.realm.Realm. Esta transacción se ejecutará solo la primera vez que se abra (cree) el archivo Realm o durante la migración de datos si se ha definido RealmConfiguration.Builder.deleteRealmIfMigrationNeeded(). Parámetros
|
Suscripciones iniciales
Establece las suscripciones iniciales para io.realm.Realm. Esto solo se ejecutará la primera vez que se abra el archivo Realm (y se cree). Si waitForInitialRemoteData() también está configurado, el archivo Realm no se abrirá por completo hasta que se hayan cargado todos los datos de suscripción. Parámetros
|
Número máximo de versiones activas
Establece el número máximo de versiones en vivo en el archivo Realm antes de que se lance una IllegalStateException al intentar escribir más datos. Realm puede gestionar simultáneamente varias versiones diferentes de objetos Realm. Esto puede ocurrir si tiene un Realm abierto en varios subprocesos o si se bloquean objetos mientras se escriben datos en el archivo. En circunstancias normales, esto no supone un problema, pero si el número de versiones activas aumenta demasiado, afectará negativamente el tamaño del archivo en disco. Por lo tanto, configurar estos parámetros puede utilizarse para evitar usos de Realm que puedan resultar en Realms muy grandes. Tenga en cuenta que el número de versión también aumentará cuando se integren cambios de otros dispositivos en este dispositivo, por lo que la cantidad de versiones activas también dependerá de lo que estén haciendo otros dispositivos que escriben en el mismo Realm. Parámetros
Tip |
modules
Reemplaza los módulos existentes con uno o más RealmModule. Este método reemplaza el esquema actual de este dominio con el esquema definido por los módulos proporcionados. Se puede encontrar una referencia al módulo Realm predeterminado que contiene todas las clases Realm del proyecto (pero no sus dependencias) mediante Realm.getDefaultModule(). La combinación del esquema del proyecto de la aplicación y una dependencia de biblioteca se realiza mediante el siguiente código:
Parámetros
Lanzamientos
|
Reemplaza los módulos existentes con uno o más RealmModule. Este método reemplaza el esquema actual de este dominio con el esquema definido por los módulos proporcionados. Se puede encontrar una referencia al módulo Realm predeterminado que contiene todas las clases Realm del proyecto (pero no sus dependencias) mediante Realm.getDefaultModule(). La combinación del esquema del proyecto de la aplicación y una dependencia de biblioteca se realiza mediante el siguiente código:
Parámetros
Lanzamientos
|
Nombre
Establece el nombre de archivo para el archivo Realm en este dispositivo. Parámetros
|
Solo lectura
public SyncConfiguration.Builder readOnly () |
|---|
Si se configura esto, el Reino pasará a ser de solo lectura y todas las transacciones de escritura realizadas contra este Reino fallarán con una IllegalStateException. Esto en particular significa que initialData(Realm.Transaction) no funcionará en combinación con un Realm de solo lectura y configurar esto dará como resultado que se arroje una IllegalStateException. Marcar un dominio como de solo lectura solo se aplica al dominio en este proceso. Otros procesos y dispositivos aún pueden escribir en el dominio. |
Fábrica rx
Establece la RxObservableFactory que se usa para crear Rx Observables a partir de objetos Realm. La fábrica por defecto es RealmObservableFactory . Parámetros
|
versión del esquema
Establece la versión del esquema del dominio. Los dominios sincronizados solo admiten cambios aditivos del esquema que se pueden aplicar sin necesidad de una migración manual. La versión del esquema solo se usará como indicación para que la capa de almacenamiento subyacente elimine o añada índices. Estos se recalcularán si la versión del esquema proporcionada difiere de la versión del archivo del dominio. ADVERTENCIA: No se garantiza que el valor insertado aquí sea el mismo que el devuelto por Realm.getVersion(). Debido a la naturaleza de los dominios sincronizados, el valor puede ser mayor o menor.
Parámetros
Lanzamientos
|
syncClientResetStrategy
Establece el controlador para cuando se produce un restablecimiento de cliente. Si no se configura ningún controlador, se registra un error al reiniciar el cliente. Esta estrategia solo está disponible para dominios sincronizados que utilizan sincronización basada en particiones. Los dominios que utilizan sincronización flexible actualmente solo admiten syncClientResetStrategy(ManuallyRecoverUnsyncedChangesStrategy). Parámetros
|
Establece el controlador para cuando se produce un reinicio del cliente. Si no se configura ningún controlador, se registra un error al reiniciar el cliente. Parámetros
|
prefijo de URL
El prefijo que se antepone a la ruta en la solicitud WebSocket que inicia una conexión de sincronización con MongoDB Realm. El valor especificado debe coincidir con la configuración del servidor; de lo contrario, el dispositivo no podrá establecer una conexión. Este valor es opcional y solo debe configurarse si una regla de firewall específica lo requiere. Parámetros
|
esperarDatosRemotosIniciales
Al configurar esto, Realm descargará todos los cambios conocidos del servidor la primera vez que se abra. Realm no se abrirá hasta que se hayan descargado todos los datos. Esto significa que, si un dispositivo está sin conexión, Realm no se abrirá. Dado que descargar todos los cambios puede ser una operación larga que podría bloquear el hilo de la interfaz de usuario, los Realms con esta configuración habilitada solo deben abrirse en hilos en segundo plano o con Realm.getInstanceAsync(RealmConfiguration, Realm.Callback) en el hilo de la interfaz de usuario. Esta comprobación solo se aplica la primera vez que se crea un dominio. Si desea asegurarse de que un dominio tenga los cambios más recientes, utilice SyncSession.downloadAllServerChanges(). Parámetros
|
Al configurar esto, Realm descargará todos los cambios conocidos del servidor la primera vez que se abra. Realm no se abrirá hasta que se hayan descargado todos los datos. Esto significa que, si un dispositivo está sin conexión, Realm no se abrirá. Dado que descargar todos los cambios puede ser una operación larga que podría bloquear el hilo de la interfaz de usuario, los Realms con esta configuración habilitada solo deben abrirse en hilos en segundo plano o con Realm.getInstanceAsync(RealmConfiguration, Realm.Callback) en el hilo de la interfaz de usuario. Esta comprobación solo se aplica la primera vez que se crea un dominio. Si desea asegurarse de que un dominio tenga los cambios más recientes, utilice SyncSession.downloadAllServerChanges(). |