io.realm
DynamicRealm es una variante dinámica de io.realm.Realm. Esto significa que todo acceso a los datos y/o consultas se realiza utilizando nombres de clase basados en cadenas en lugar de referencias a tipos de clase.
This is useful during migrations or when working with string-based data like CSV or XML files.
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 aunque se haya definido en la RealmConfiguration .
This means that the schema is not created or validated until a Realm has been opened in typed mode. If a Realm file is opened in dynamic mode first it will not contain any information about classes and fields, and any queries for classes defined by the schema will fail.
Nested Class Summary
Modificador y Tipo | Class and Description |
|---|---|
| |
|
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
public void | Adds a change listener to the Realm. |
public <any> | asFlowable () Returns an RxJava Flowable that monitors changes to this Realm. |
public DynamicRealmObject | Instantiates and adds a new embedded object to the Realm. |
public DynamicRealmObject | Creates an object with a given primary key. |
public DynamicRealmObject | Instantiates and adds a new object to the Realm. |
public void | |
public void | Ejecuta una transacción determinada en el DynamicRealm. |
public RealmAsyncTask | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess, DynamicRealm.Transaction.OnError onError ) Similar to executeTransactionAsync(Transaction) , but also accepts an OnSuccess and OnError callbacks. |
public RealmAsyncTask | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnError onError ) Similar to executeTransactionAsync(Transaction) , but also accepts an OnError callback. |
public RealmAsyncTask | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess ) Similar to executeTransactionAsync(Transaction) , but also accepts an OnSuccess callback. |
public RealmAsyncTask | Similar to executeTransaction(Transaction) but runs asynchronously on a worker thread. |
public DynamicRealm | freeze () Returns a frozen snapshot of the current Realm. |
public static DynamicRealm | Constructor estático de Realm que devuelve una instancia Realm dinámica de la instancia definida por io.realm.RealmConfiguration proporcionado. |
public static RealmAsyncTask | La creación de la primera instancia Realm por RealmConfiguration en un proceso puede tomar algún tiempo ya que todo el código de inicialización necesita ejecutarse en ese punto (configuración del Realm, validación de esquemas y creación de datos iniciales). |
public RealmSchema | getSchema () Returns the mutable schema for this Realm. |
public booleano | isEmpty () Checks if this io.realm.Realm contains any objects. |
public void | Removes all user-defined change listeners. |
public void | Removes the specified change listener. |
public RealmQuery |
Inherited Methods
Methods inherited from class java.lang.Object :
getClass,hashCode,equals,clone,toString,notify,notifyAll,wait,wait,wait,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
Adds a change listener to the Realm.The listeners will be executed when changes are committed by this or another thread. Realm instances are cached per thread. For that reason it is important to remember to remove listeners again either using removeChangeListener(RealmChangeListener) or removeAllChangeListeners() . Not doing so can cause memory leaks. Parámetros
Throws
|
asFlowable
public <any> asFlowable () | ||||||
|---|---|---|---|---|---|---|
Returns an RxJava Flowable that monitors changes to this Realm. It will emit the current state when subscribed to. Items will continually be emitted as the Realm is updated - Los elementos emitidos por Realm Flowables están congelados (consulta freeze()). Esto significa que son inmutables y pueden ser leídos en cualquier subproceso. Realm Flowables always emit items from the thread holding the live Realm. This means that if you need to do further processing, it is recommend to observe the values on a computation scheduler: If you would like the Devuelve RxJava Observable that only calls Anulaciones
|
createEmbeddedObject
public DynamicRealmObject createEmbeddedObject ( ) |
|---|
Instantiates and adds a new embedded object to the Realm.This method should only be used to create objects of types marked as embedded. Parámetros
Devuelve the newly created embedded object. Throws
|
createObject
Creates an object with a given primary key. Classes without a primary key defined must use createObject(String) } instead. Devuelve el nuevo objeto. Todos los campos tendrán valores por defecto para su tipo, excepto el campo de llave primaria que tendrá el valor proporcionado. Throws
|
Instantiates and adds a new object to the Realm. Parámetros
Devuelve the new object. Throws
|
borrar
Deletes all objects of the specified class from the Realm. Parámetros
Throws
|
executeTransaction
Executes a given transaction on the DynamicRealm. beginTransaction() and commitTransaction() will be called automatically. If any exception is thrown during the transaction cancelTransaction() will be called instead of commitTransaction(). Calling this method from the UI thread will throw a RealmException . Doing so may result in a drop of frames or even ANRs. We recommend calling this method from a non-UI thread or using executeTransactionAsync(Transaction) instead. Parámetros
Throws
|
executeTransactionAsync
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess, DynamicRealm.Transaction.OnError onError ) |
|---|
Similar to executeTransactionAsync(Transaction) , but also accepts an OnSuccess and OnError callbacks. Parámetros
Devuelve un RealmAsyncTask que representa una tarea cancelable. Throws
|
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnError onError ) |
|---|
Similar to executeTransactionAsync(Transaction) , but also accepts an OnError callback. Parámetros
Devuelve un RealmAsyncTask que representa una tarea cancelable. Throws
|
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess ) |
|---|
Similar to executeTransactionAsync(Transaction) , but also accepts an OnSuccess callback. Parámetros
Devuelve un RealmAsyncTask que representa una tarea cancelable. Throws
|
Similar to executeTransaction(Transaction) but runs asynchronously on a worker thread. Parámetros
Devuelve un RealmAsyncTask que representa una tarea cancelable. Throws
|
freeze
public DynamicRealm freeze () |
|---|
Returns a frozen snapshot of the current Realm. This Realm can be read and queried from any thread without throwing an IllegalStateException . A frozen Realm has its own lifecycle and can be closed by calling close(), but fully closing the Realm that spawned the frozen copy will also close the frozen Realm. Frozen data can be queried as normal, but trying to mutate it in any way or attempting to register any listener will throw an 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 a frozen copy of this Realm. Anulaciones
|
getInstance
Realm static constructor that returns a dynamic variant of the Realm instance defined by provided io.realm.RealmConfiguration . Dynamic Realms do not care about schemaVersion and schemas, so opening a DynamicRealm will never trigger a migration. Devuelve el DynamicRealm definido por la configuración. Throws
|
getInstanceAsync
public static RealmAsyncTask getInstanceAsync ( RealmConfiguration configuration, DynamicRealm.Callback callback ) |
|---|
The creation of the first Realm instance per RealmConfiguration in a process can take some time as all initialization code need to run at that point (Setting up the Realm, validating schemas and creating initial data). This method places the initialization work in a background thread and deliver the Realm instance to the caller thread asynchronously after the initialization is finished. Parámetros
Devuelve un RealmAsyncTask que representa una tarea cancelable. Throws
|
getSchema
public RealmSchema getSchema () |
|---|
Returns the mutable schema for this Realm. Devuelve The RealmSchema for this Realm. Anulaciones
|
isEmpty
public boolean isEmpty () |
|---|
Checks if this io.realm.Realm contains any objects. Devuelve
Anulaciones
|
removeAllChangeListeners
public void removeAllChangeListeners () |
|---|
Removes all user-defined change listeners. Throws
|
removeChangeListener
Removes the specified change listener. Parámetros
Throws
|
dónde
Returns a RealmQuery, which can be used to query the provided class. Parámetros
Devuelve a RealmQuery, which can be used to query for specific objects of provided type. Throws
|