Classe dynamicRealm
Nesta página
- io.realm
- Resumo da classe aninhada
- Resumo do método
- Métodos herdados
- Detalhes do método
- addChangeListener
- asFlowable
- createEmbeddedObject
- createObject
- excluir
- executeTransaction
- executeTransactionAsync
- congelar
- getInstance
- getInstanceAsync
- Obter esquema
- isEmpty
- Remover todos os ouvintes de alterações
- removeChangeListener
- ONDE
io.realm
dynamicRealm é uma variante dinâmica de io.realm.Realm . Isso significa que todo o acesso a dados e/ou query é feito usando nomes de classe baseados em strings em vez de referências de tipos de classes.
Isso é útil durante migrações ou ao trabalhar com dados baseados em strings, como arquivos CSV ou HTML.
O mesmo io.realm.RealmConfiguration pode ser usado para abrir um Arquivo de Realm no modo dinâmico e digitado, mas modificar o esquema enquanto tem uma versão digitada e dinâmica aberta é altamente desaconselhado e provavelmente travará o Realm digitado. Durante as migrações, apenas um dynamicRealm será aberto.
Os Realms dinâmicos não impõem esquemas ou versões de esquema e o código RealmMigration não é usado, mesmo que tenha sido definido no RealmConfiguration .
Isso significa que o esquema não é criado ou validado até que um Realm seja aberto no modo digitado. 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.
Resumo da classe aninhada
Modificador e tipo | Classe e descrição |
---|---|
public static interface | |
public abstract static |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
public void | Adiciona um ouvinte de alterações ao Realm. |
public <any> | asFlowable () Retorna um RxJava Flowable que monitora as alterações nesse Realm. |
dynamicRealmObjectpúblico | Instancia e adiciona um novo objeto incorporado ao Realm. |
dynamicRealmObjectpúblico | Cria um objeto com uma determinada chave primária. |
dynamicRealmObjectpúblico | Instancia e adiciona um novo objeto ao Realm. |
public void | |
public void | Executa uma determinada transação no dynamicRealm. |
RealmAsyncTaskpúblico | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess, DynamicRealm.Transaction.OnError onError ) Semelhante a executeTransactionAsync(Transaction) , mas também aceita chamadas de resposta OnSuccess e OnError. |
RealmAsyncTaskpúblico | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnError onError ) Semelhante a executeTransactionAsync(Transaction) , mas também aceita um retorno de chamada OnError. |
RealmAsyncTaskpúblico | DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess ) Semelhante a executeTransactionAsync(Transaction) , mas também aceita um retorno de chamada de resposta OnSuccess . |
RealmAsyncTaskpúblico | Semelhante a executeTransaction(Transaction) , mas é executado de forma assíncrona em um thread de trabalho. |
DynamicRealmpúblico | freeze () Retorna um snapshot congelado do Realm atual. |
público estático DynamicRealm | Construtor estático de Realm que retorna uma variante dinâmica da Instância de Realm definida por io.realm.RealmConfiguration fornecido. |
public static RealmAsyncTask | A criação da primeira Instância de Realm por RealmConfiguration em um processo pode levar algum tempo, pois todo o código de inicialização precisa ser executado nesse ponto (configuração do Realm, validação de esquemas e criação de dados iniciais). |
Public RealmSchema | getSchema () Retorna o esquema mutável para esse Realm. |
booleanopúblico | isEmpty () Verifica se este io.realm.Realm contém algum objeto. |
public void | Remove todos os ouvintes de alterações definidos pelo usuário. |
public void | Remove o ouvinte de alterações especificado. |
Public RealmQuery |
Métodos herdados
Métodos herdados da classe java.lang.Object :
getClass
,hashCode
,equals
,clone
,toString
,notify
,notifyAll
,wait
,wait
,wait
,finalize
Métodos herdados da classe 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
Detalhes do método
addChangeListener
Adiciona um ouvinte de alterações ao Realm.Os ouvintes serão executados quando as alterações forem confirmadas por este ou outro thread. Realm instâncias de domínio são armazenadas em cache por thread. Por esse motivo, é importante lembrar de remover os ouvintes novamente usando removeChangeListener(RealmChangeListener) ou removeAllChangeListeners() . Não fazer isso pode causar vazamentos de memória. Parâmetros
Lança
DicaVeja também: |
asFlowable
public <any> asFlowable () | ||||||
---|---|---|---|---|---|---|
Retorna um RxJava Flowable que monitora as alterações nesse Realm. Ele emitirá o estado atual quando for assinado. Os itens serão emitidos continuamente à medida que o Realm for atualizado - Os itens emitidos do Realm Flowables estão congelados (consulte Congelar (). Isso significa que eles são imutáveis e podem ser lidos em qualquer thread. Os Realm Flowables sempre emitem itens do tópico que contém o Realm ativo. Isso significa que, se você precisar fazer processamento adicional, é recomendável observar os valores em um agendador de computação:
Se você quiser que o
Devoluções RxJava Observable que chama apenas Substitui
|
createEmbeddedObject
public DynamicRealmObject createEmbeddedObject ( ) |
---|
Instancia e adiciona um novo objeto incorporado ao Realm.Esse método só deve ser usado para criar objetos de tipos marcados como incorporados. Parâmetros
Devoluções o objeto incorporado recém-criado. Lança
|
createObject
Cria um objeto com uma determinada chave primária. As classes sem uma chave primária definida devem usar createObject(string) } . Devoluções o novo objeto. Todos os campos terão valores padrão para seu tipo, exceto o campo de chave primária que terá o valor fornecido. Lança
|
Instancia e adiciona um novo objeto ao Realm. Parâmetros
Devoluções o novo objeto. Lança
|
excluir
executeTransaction
Executa uma determinada transação no dynamicRealm. getTransaction () e commitTransaction() serão chamados automaticamente. Se alguma exceção for lançada durante a transação, cancelTransaction() será chamado em vez de commitTransaction(). Chamar esse método a partir do thread da interface do usuário lançará uma RealmException . Isso pode resultar em uma queda de armações ou até mesmo de ANRs. Recomendamos chamar esse método de um thread que não seja da interface do usuário ou usar executeTransactionAsync(Transaction) . Parâmetros
Lança
|
executeTransactionAsync
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess, DynamicRealm.Transaction.OnError onError ) |
---|
Semelhante a executeTransactionAsync(Transaction) , mas também aceita chamadas de resposta OnSuccess e OnError. Parâmetros
Devoluções um RealmAsyncTask representando uma tarefa cancelável. Lança
|
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnError onError ) |
---|
Semelhante a executeTransactionAsync(Transaction) , mas também aceita um retorno de chamada OnError. Parâmetros
Devoluções um RealmAsyncTask representando uma tarefa cancelável. Lança
|
public RealmAsyncTask executeTransactionAsync ( DynamicRealm.Transaction transaction, DynamicRealm.Transaction.OnSuccess onSuccess ) |
---|
Semelhante a executeTransactionAsync(Transaction) , mas também aceita um retorno de chamada de resposta OnSuccess . Parâmetros
Devoluções um RealmAsyncTask representando uma tarefa cancelável. Lança
|
Semelhante a executeTransaction(Transaction) , mas é executado de forma assíncrona em um thread de trabalho. Parâmetros
Devoluções um RealmAsyncTask representando uma tarefa cancelável. Lança
|
congelar
public DynamicRealm freeze () |
---|
Retorna um snapshot congelado do Realm atual. Este Realm pode ser lido e consultado de qualquer tópico sem lançar um IllegalStateException . Um Realm congelado tem seu próprio ciclo de vida e pode ser fechado chamando close(), mas fechar totalmente o Realm que gerou a cópia congelada também fechará o Realm congelado. Os dados congelados podem ser consultados normalmente, mas tentar alterá-los de qualquer forma ou tentar registrar qualquer ouvinte criará uma IllegalStateException . Observação: manter um grande número de Realms com versões diferentes ativos pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir RealmConfiguration.Builder.maxNumberOfAtiveVersions(long) . Devoluções uma cópia congelada deste Realm. Substitui
|
getInstance
Construtor estático de Realm que retorna uma variante dinâmica da Instância de Realm definida por io.realm.RealmConfiguration fornecido. Os Realms dinâmicos não se importam com schemaVersion e esquemas, portanto, abrir um dynamicRealm nunca trigger uma migração. Devoluções o dynamicRealm definido pela configuração. Lança
|
getInstanceAsync
public static RealmAsyncTask getInstanceAsync ( RealmConfiguration configuration, DynamicRealm.Callback callback ) |
---|
A criação da primeira Instância de Realm por RealmConfiguration em um processo pode levar algum tempo, pois todo o código de inicialização precisa ser executado nesse ponto (configuração do Realm, validação de esquemas e criação de dados iniciais). Esse método coloca o trabalho de inicialização em um thread de background e entrega a Instância de Realm ao thread do chamador de forma assíncrona após a conclusão da inicialização. Parâmetros
Devoluções um RealmAsyncTask representando uma tarefa cancelável. Lança
|
Obter esquema
public RealmSchema getSchema () |
---|
Retorna o esquema mutável para esse Realm. Devoluções O RealmSchema para este Realm. Substitui
|
isEmpty
public boolean isEmpty () |
---|
Verifica se este io.realm.Realm contém algum objeto. Devoluções
Substitui
|
Remover todos os ouvintes de alterações
public void removeAllChangeListeners () |
---|
Remove todos os ouvintes de alterações definidos pelo usuário. Lança |
removeChangeListener
Remove o ouvinte de alterações especificado. Parâmetros
Lança
|
ONDE
Retorna um RealmQuery, que pode ser usado para query a classe fornecida. Parâmetros
Devoluções um RealmQuery, que pode ser usado para fazer query de objetos específicos do tipo fornecido. Lança
|