Docs Menu
Docs Home
/ /
io.realm

Clase RealmConfiguration.Builder

java.lang.Object
io.realm.RealmConfiguration.Builder

Clase envolvente:

Configuración del reino

RealmConfiguration.Builder se utiliza para construir instancias de una RealmConfiguration de manera fluida.

Constructor y descripción

Crea una instancia del Builder para RealmConfiguration.

Modificador y Tipo
Método y descripción

Configuraciónpública final de Realm.Builder

Object module
)

FIXME: Método DEBUG visible temporalmente.

Configuraciónde dominio público.Builder

boolean allowQueriesOnUiThread
)

Establece si se puede iniciar o no un RealmQuery desde el hilo de UI.

Configuraciónde dominio público.Builder

boolean allowWritesOnUiThread
)

Establece si se permiten o no las llamadas a Realm.executeTransaction desde el hilo de UI.

Configuraciónde dominio público.Builder

String assetFile
)

Copia el archivo Realm desde la ruta del archivo de activo indicada.

Configuración dedominio público

Crea RealmConfiguration en función de los parámetros del generador.

Configuraciónde dominio público.Builder

Establece esto para determinar si el archivo Realm debe compactarse antes de devolverlo al usuario.

Configuraciónde dominio público.Builder

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.

Configuraciónde dominio público.Builder

Establecer esto cambiará el comportamiento de manejo de las excepciones de migración.

Configuraciónde dominio público.Builder

File directory
)

Especifica el directorio donde se guardará el archivo Realm.

Configuraciónde dominio público.Builder

byte[] key
)

Establece la clave de 64 bytes utilizada para cifrar y descifrar el archivo Realm.

Configuraciónde dominio público.Builder

Establece el FlowFactory utilizado para crear flujos de corrutinas desde objetos Realm.

Configuraciónde dominio público.Builder

Establecer esto creará un Realm en memoria en lugar de guardarlo en el disco.

Configuraciónde dominio público.Builder

Establece los datos iniciales en io.realm.Realm.

Configuraciónde dominio público.Builder

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.

Configuraciónde dominio público.Builder

Establece io.realm.RealmMigration para que se ejecute si se necesita una migración.

Configuraciónde dominio público.Builder

Object baseModule,
java.lang.Object[] additionalModules
)

Reemplaza los módulos existentes con uno o más RealmModule.

Configuraciónde dominio público.Builder

String filename
)

Establece el nombre de archivo para el archivo Realm.

Configuraciónde dominio público.Builder

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.

Configuraciónde dominio público.Builder

Establece RxObservableFactory utilizado para crear Rx Observables a partir de objetos Realm.

Configuraciónde dominio público.Builder

long schemaVersion
)

Establece la versión de esquema del Realm.

  • Métodos heredados de la clase java.lang.Object: getClass , hashCode , equals , clone , toString , notify , notifyAll , wait , wait , wait , finalize

public Builder ()

Crea una instancia del Constructor para RealmConfiguration. Esto usará el directorio interno de la aplicación para almacenar el archivo Realm. No requiere permisos adicionales. La ubicación predeterminada es /data/data/<packagename>/files , pero puede cambiar según las implementaciones de Android del proveedor.

FIXME: Método DEBUG visible temporalmente. Agregará un módulo incondicionalmente. Agrega un módulo a los módulos ya definidos.

boolean allowQueriesOnUiThread
)

Establece si se puede iniciar o no un RealmQuery desde el hilo de UI.

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().

boolean allowWritesOnUiThread
)

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 executeTransaction a hilos que no sean de interfaz de usuario o, alternativamente, usar Realm.executeTransactionAsync.

Copia el archivo Realm desde la ruta del archivo de activo indicada. Al abrir el Realm por primera vez, en lugar de crear un archivo vacío, el archivo Realm se copiará desde el archivo de activo proporcionado y se utilizará en su lugar.

Esto no se puede combinar con deleteRealmIfMigrationNeeded() ya que hacerlo solo provocaría la eliminación del archivo copiado.

ADVERTENCIA: Esta podría ser una operación larga y lo ideal es que se realice en un hilo en segundo plano.

Parámetros

  • assetFile - ruta al archivo de base de datos de activos.

Lanzamientos

Crea RealmConfiguration en función de los parámetros del generador.

Devuelve

la RealmConfiguration creada.

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

  • compactOnLaunch Una devolución de llamada que se ejecuta al abrir un dominio por primera vez durante la vida de un proceso para determinar si 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 en el archivo.

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.

Al configurar esto, se cambiará el comportamiento de gestión de las excepciones de migración. En lugar de generar una excepción io.realm.exceptions.RealmMigrationNeededException, el dominio en disco se borrará y se volverá a crear con el nuevo esquema.

Esto no se puede configurar para tener un archivo de activos al mismo tiempo llamando a assetFile(String) ya que el archivo de activos proporcionado se eliminará en las migraciones.

¡ADVERTENCIA! Esto provocará la pérdida de datos.

Lanzamientos

Especifica el directorio donde se guardará el archivo de Realm. El valor predeterminado es context.getFilesDir() . Si el directorio no existe, se creará.

Parámetros

  • directory - el directorio donde guardar el archivo Realm. El directorio debe tener permisos de escritura.

Lanzamientos

Establece la clave de 64 bytes utilizada para cifrar y descifrar el archivo Realm. Establece la clave de io.realm.Realm#ENCRYPTION_KEY_LENGTH bytes utilizada para cifrar y descifrar el archivo Realm.

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

  • factory - Fábrica para utilizar.

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.

Establece los datos iniciales en io.realm.Realm. Esta transacción solo se ejecutará la primera vez al crear el archivo de base de datos o al migrar los datos si Builder.deleteRealmIfMigrationNeeded() está configurado.

Parámetros

  • transaction - transacción a ejecutar.

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 de Realm. Esto puede ocurrir, por ejemplo, si un Realm está 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.

Parámetros

  • number - el número máximo de versiones activas antes de que se lance una excepción.

Tip

Establece que io.realm.RealmMigration se ejecute si se requiere una migración. Si esta migración no actualiza el esquema en disco al esquema en tiempo de ejecución, se generará una excepción io.realm.exceptions.RealmMigrationNeededException.

Object baseModule,
java.lang.Object[] additionalModules
)

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:

builder.modules(Realm.getDefaultMode(), new MyLibraryModule());

Parámetros

  • baseModule - el primer módulo Realm (obligatorio).

  • additionalModules - los módulos adicionales de Realm

Lanzamientos

Establece el nombre de archivo para el archivo Realm.

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 aún pueden escribir en él.

Establece la RxObservableFactory que se usa para crear Rx Observables a partir de objetos Realm. La fábrica por defecto es RealmObservableFactory .

Parámetros

  • factory - Fábrica para utilizar.

long schemaVersion
)

Establece la versión del esquema del dominio. Debe ser igual o superior a la versión del esquema del archivo de dominio existente, si existe. Si la versión del esquema es superior a la del dominio ya existente, se requiere una migración. Si no se proporciona ningún código de migración, el dominio generará una excepción io.realm.exceptions.RealmMigrationNeededException.

Volver

Configuración del reino