io.realm
DynamicRealm es una variante dinámica de io.realm.Realm. Esto significa que todo acceso a datos y/o consultas se realiza mediante nombres de clase basados en cadenas, en lugar de referencias a tipos de clase.
Esto es útil durante las migraciones o cuando se trabaja con datos basados en cadenas, como archivos CSV o XML.
La misma io.realm.RealmConfiguration puede usarse para abrir un archivo Realm tanto en modo dinámico como tipificado, pero modificar el esquema mientras hay una versión tipificada y dinámica abierta no es recomendado y muy probablemente provocará un fallo en el Realm tipificado. Durante las migraciones, solo un DynamicRealm estará abierto.
Los reinos dinámicos no aplican esquemas ni versiones de esquemas y el código RealmMigration no se utiliza incluso si se ha definido en RealmConfiguration.
Esto significa que el esquema no se crea ni se valida hasta que se abre un dominio en modo tipificado. Si un archivo de dominio se abre primero en modo dinámico, no contendrá información sobre clases y campos, y cualquier consulta a las clases definidas por el esquema fallará.
Resumen de clases anidadas
Modificador y Tipo | Clase y descripción |
|---|---|
| |
|
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
vacío público | Agrega un detector de cambios al Reino. |
público <any> | asFlowable () Devuelve un RxJava Flowable que monitorea los cambios en este Reino. |
objeto público de DynamicRealmObject | Crea una instancia y agrega un nuevo objeto incrustado al Reino. |
objeto público de DynamicRealmObject | Crea un objeto con una clave principal determinada. |
objeto público de DynamicRealmObject | Crea una instancia y agrega un nuevo objeto al Reino. |
vacío público | |
vacío público | Ejecuta una transacción determinada en el DynamicRealm. |
Tarea asincrónica dedominio público | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess, DynamicRealm.Transaction.OnError onError ) Similar a executeTransactionAsync(Transaction), pero también acepta devoluciones de llamadas OnSuccess y OnError. |
Tarea asincrónica dedominio público | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnError onError ) Similar a executeTransactionAsync(Transaction), pero también acepta una devolución de llamada OnError. |
Tarea asincrónica dedominio público | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess ) Similar a executeTransactionAsync(Transaction), pero también acepta una devolución de llamada OnSuccess. |
Tarea asincrónica dedominio público | Similar a executeTransaction(Transaction) pero se ejecuta de forma asincrónica en un hilo de trabajo. |
freeze () Devuelve una instantánea congelada del Reino actual. | |
Constructor estático de Realm que devuelve una variante dinámica de la instancia de Realm definida por io.realm.RealmConfiguration proporcionado. | |
La creación de la primera instancia de Realm por RealmConfiguration en un proceso puede llevar algún tiempo, ya que todo el código de inicialización debe ejecutarse en ese punto (configurar el Realm, validar esquemas y crear datos iniciales). | |
getSchema () Devuelve el esquema mutable para este reino. | |
booleanopúblico | isEmpty () Comprueba si este io.realm.Realm contiene algún objeto. |
vacío público | Elimina todos los escuchas de cambios definidos por el usuario. |
vacío público | Elimina el detector de cambios especificado. |
Métodos heredados
Métodos heredados de la clase
getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitjava.lang.Object:,,,,,,,,,,finalizeMethods inherited from class io.realm.BaseRealm:
setAutoRefresh,isAutoRefresh,refresh,isInTransaction,addListener,removeListener,asFlowable,removeAllListeners,writeCopyTo,writeEncryptedCopyTo,waitForChange,stopWaitForChange,beginTransaction,commitTransaction,cancelTransaction,freeze,isFrozen,getNumberOfActiveVersions,checkIfValid,checkAllowQueriesOnUiThread,checkAllowWritesOnUiThread,checkIfInTransaction,checkIfValidAndInTransaction,getPath,getConfiguration,getVersion,close,isClosed,isEmpty,getSchema,getSubscriptions,deleteAll,migrateRealm,finalize
Detalle del método
addChangeListener
Agrega un detector de cambios al Reino. Los detectores se ejecutarán cuando este u otro hilo confirmen los cambios. Las instancias de Realm se almacenan en caché por subproceso. Por eso, es importante recordar eliminar los escuchas de nuevo mediante removeChangeListener(RealmChangeListener) o removeAllChangeListeners(). No hacerlo puede causar fugas de memoria. Parámetros
Lanzamientos
|
como fluido
public <any> asFlowable () | ||||||
|---|---|---|---|---|---|---|
Devuelve un Flowable de RxJava que monitoriza los cambios en este dominio. Emitirá el estado actual al suscribirse. Los elementos se emitirán continuamente a medida que se actualice el dominio; nunca se llamará a Los elementos emitidos por Realm Flowables están congelados (consulta freeze()). Esto significa que son inmutables y pueden ser leídos en cualquier subproceso. Los flowables de Realm siempre emiten elementos desde el hilo que contiene el Realm activo. Esto significa que, si necesita realizar más procesamiento, se recomienda observar los valores en un programador de cómputo: Si desea que Devuelve Observable de RxJava que solo llama a Anulaciones
|
crearObjetoIncrustado
public DynamicRealmObject createEmbeddedObject ( ) |
|---|
Crea una instancia y agrega un nuevo objeto incrustado al Reino. Este método solo debe usarse para crear objetos de tipos marcados como incrustados. Parámetros
Devuelve el objeto incrustado recién creado. Lanzamientos
|
createObject
Crea un objeto con una clave principal dada. Las clases sin una clave principal definida deben usar createObject(String) } en su lugar. Devuelve El nuevo objeto. Todos los campos tendrán valores predeterminados para su tipo, excepto el campo de clave principal, que tendrá el valor proporcionado. Lanzamientos
|
Crea una instancia y agrega un nuevo objeto al Reino. Parámetros
Devuelve el nuevo objeto. Lanzamientos
|
borrar
Elimina todos los objetos de la clase especificada del Reino. Parámetros
Lanzamientos
|
ejecutarTransacción
Ejecuta una transacción en DynamicRealm. Las operacionesbeginTransaction() y commitTransaction() se invocan automáticamente. Si se lanza una excepción durante la transacción, se invocará cancelTransaction() en lugar de commitTransaction(). Llamar a este método desde el hilo de la interfaz de usuario generará una RealmException. Esto podría provocar la pérdida de fotogramas o incluso ANR. Recomendamos llamar a este método desde un hilo que no sea de la interfaz de usuario o usar executeTransactionAsync(Transaction). Parámetros
Lanzamientos
|
ejecutarTransacciónAsync
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess, DynamicRealm.Transaction.OnError onError ) |
|---|
Similar a executeTransactionAsync(Transaction), pero también acepta devoluciones de llamadas OnSuccess y OnError. Parámetros
Devuelve una RealmAsyncTask que representa una tarea cancelable. Lanzamientos
|
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnError onError ) |
|---|
Similar a executeTransactionAsync(Transaction), pero también acepta una devolución de llamada OnError. Parámetros
Devuelve una RealmAsyncTask que representa una tarea cancelable. Lanzamientos
|
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess ) |
|---|
Similar a executeTransactionAsync(Transaction), pero también acepta una devolución de llamada OnSuccess. Parámetros
Devuelve una RealmAsyncTask que representa una tarea cancelable. Lanzamientos
|
Similar a executeTransaction(Transaction) pero se ejecuta de forma asincrónica en un hilo de trabajo. Parámetros
Devuelve una RealmAsyncTask que representa una tarea cancelable. Lanzamientos
|
freeze
public DynamicRealm freeze () |
|---|
Devuelve una instantánea congelada del dominio actual. Este dominio se puede leer y consultar desde cualquier hilo sin generar una excepción IllegalStateException. Un dominio congelado tiene su propio ciclo de vida y se puede cerrar mediante la función close(); sin embargo, cerrar completamente el dominio que generó la copia congelada también lo cerrará. Los datos congelados se pueden consultar de forma normal, pero intentar mutarlos de cualquier forma o intentar registrar cualquier oyente arrojará una IllegalStateException. Nota: Mantener un gran número de Realms con diferentes versiones vivos puede tener un impacto negativo en el tamaño del archivo del Realm. Para evitar una situación así, es posible establecer RealmConfiguration.Builder.maxNumberOfActiveVersions(long) . Devuelve una copia congelada de este Reino. Anulaciones
|
obtenerInstancia
Constructor estático de Realm que devuelve una variante dinámica de la instancia de Realm definida por io.realm.RealmConfiguration. Los Realms dinámicos no tienen en cuenta la versión del esquema ni los esquemas, por lo que abrir un Realm dinámico nunca activará una migración. Devuelve el DynamicRealm definido por la configuración. Lanzamientos
|
obtenerInstanciaAsync
public static RealmAsyncTask getInstanceAsync ( RealmConfiguration configuration, DynamicRealm.Callback callback ) |
|---|
La creación de la primera instancia de Realm por cada RealmConfiguration en un proceso puede tardar un tiempo, ya que todo el código de inicialización debe ejecutarse en ese momento (configuración de Realm, validación de esquemas y creación de datos iniciales). Este método coloca el trabajo de inicialización en un subproceso en segundo plano y entrega la instancia de Realm al subproceso de llamada de forma asíncrona una vez finalizada la inicialización. Parámetros
Devuelve una RealmAsyncTask que representa una tarea cancelable. Lanzamientos
|
getSchema
public RealmSchema getSchema () |
|---|
Devuelve el esquema mutable para este reino. Devuelve El esquema de reino para este reino. Anulaciones
|
isEmpty
public boolean isEmpty () |
|---|
Comprueba si este io.realm.Realm contiene algún objeto. Devuelve
Anulaciones
|
eliminar todos los oyentes de cambio
public void removeAllChangeListeners () |
|---|
Elimina todos los escuchas de cambios definidos por el usuario. Lanzamientos
|
removeChangeListener
Elimina el detector de cambios especificado. Parámetros
Lanzamientos
|
donde
Devuelve un RealmQuery, que se puede utilizar para consultar la clase proporcionada. Parámetros
Devuelve una RealmQuery, que se puede utilizar para consultar objetos específicos del tipo proporcionado. Lanzamientos
|