Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ / /

Classe RealmConfiguration.Builder

Nesta página

  • io.realm
  • Construtores
  • Resumo do método
  • Métodos herdados
  • Detalhes do construtor
  • Detalhes do método
  • addModule
  • allowQueriesOnUiThread
  • allowWritesOnUiThread
  • ativoFile
  • COMPILAR
  • compactaOnLaunch
  • deleteRealm IfMigrationNeeded
  • Diretório
  • encryptionKey
  • flowFactory
  • inMemory
  • initialData
  • maxNumberOfAtiveVersions
  • migration
  • módulos
  • name
  • Somente leitura
  • rxFactory
  • Versão do esquema
java.lang.Object
io.realm.RealmConfiguration.Builder

Classe anexa:

RealmConfiguration

RealmConfiguration.Builder usado para construir instâncias de um RealmConfiguration de forma fluente.

Construtor e descrição

Cria uma instância do Construtor para o RealmConfiguration.

Modificador e tipo
Método e descrição
Object module
)

FIXME: Método DEBUG visível temporariamente.

boolean allowQueriesOnUiThread
)

Define se um RealmQuery pode ou não ser iniciado a partir do thread da UI.

boolean allowWritesOnUiThread
)

Define se as chamadas para Realm.executeTransaction são permitidas ou não a partir do thread da UI.

String assetFile
)

Copia o Arquivo de Realm do caminho de arquivo de ativo fornecido.

configuração pública do Realm

Cria o RealmConfiguration com base nos parâmetros do construtor.

Define isso para determinar se o Arquivo de Realm deve ser compactado antes de retornar ao usuário.

Definir isso fará com que o Realm compactará o Arquivo de Realm se o Arquivo de Realm ficar muito grande e uma quantidade significativa de espaço puder ser recuperada.

Definir isso mudará o comportamento de como as exceções de migração são tratadas.

File directory
)

Especifica o diretório onde o Arquivo de Realm será salvo.

byte[] key
)

Define a chave de 64 bytes usada para criptografar e descriptografar o Arquivo de Realm.

Define o FlowFactory usado para criar fluxos de corrotina a partir de Objeto de Realm.

Definir isso criará um Realm na memória em vez de salvá-lo no disco.

Define os dados iniciais em io.realm.Realm .

Define o número máximo de versões ativas no arquivo Realm antes de uma IllegalStateException é lançado ao tentar gravar mais dados.

Define o io.realm.RealmMigration a ser executado se uma migração for necessária.

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

Substitui o(s) módulo(s) existente(s) por um ou mais RealmModule s.

String filename
)

Define o nome do Arquivo de Realm.

Definir isso fará com que o Realm se torne somente leitura e todas as transações de gravação feitas nesse Realm falharão com uma IllegalStateException .

Define o RxObservableFactory usado para criar Rx Observables a partir de objetos Realm.

long schemaVersion
)

Define a versão do esquema do Realm.

  • Métodos herdados da classe java.lang.Object : getClass , hashCode , equals , clone , toString , notify , notifyAll , wait , wait , wait , finalize

public Builder ()

Cria uma instância do Construtor para a RealmConfiguration. Isso usará o diretório interno do próprio aplicativo para armazenar o arquivo Realm. Isso não requer nenhuma permissão adicional. O local padrão é /data/data/<packagename>/files , mas pode mudar dependendo das implementações do fornecedor do Android.
FIXME: Método DEBUG visível temporariamente. Adicionará um módulo condicionalmente. Adiciona um módulo a módulos já definidos.
boolean allowQueriesOnUiThread
)

Define se um RealmQuery pode ou não ser iniciado a partir do thread da UI.

Por padrão, o Realm permite queries na thread principal. No entanto, ao fazer isso, seu aplicativo pode sofrer uma queda de armações ou até mesmo ANRs. Recomendamos direcionar as consultas para threads que não sejam da interface do usuário ou, alternativamente, usar RealmQuery.findAllAsync() ou RealmQuery.findFirstAsync() .

boolean allowWritesOnUiThread
)

Define se as chamadas para Realm.executeTransaction são permitidas ou não a partir do thread da UI.

AVISO: o Realm não permite que transações síncronas sejam executadas na thread principal, a menos que os usuários optem explicitamente por esse método. Recomendamos redirecionar chamadas para executeTransaction para threads que não sejam da interface do usuário ou, alternativamente, usar Realm.executeTransactionAsync .

Copia o Arquivo de Realm do caminho do arquivo de ativo fornecido. Ao abrir o Realm pela primeira vez, em vez de criar um arquivo vazio, o Arquivo de Realm será copiado do arquivo de ativo fornecido e usado em vez disso.

Isso não pode ser combinado com deleteRealmIfMigrationNeeded() , pois isso resultaria na exclusão do arquivo copiado.

AVISO: essa pode ser uma operação demorada e, de preferência, deve ser feita em um thread em segundo plano.

Parâmetros

  • assetFile - caminho para o arquivo do banco de dados do ativo.

Lança

Cria o RealmConfiguration com base nos parâmetros do construtor.

Devoluções

o RealmConfiguration criado.

Define isso para determinar se o Arquivo de Realm deve ser compactado antes de retornar ao usuário. É passado o tamanho total do arquivo (dados + espaço livre) e os bytes usados pelos dados no arquivo.

Parâmetros

  • compactOnLaunch - uma chamada de resposta chamada ao abrir um Realm pela primeira vez durante a vida de um processo para determinar se ele deve ser compactado antes de ser devolvido ao usuário. É passado o tamanho total do arquivo (dados + espaço livre) e os bytes usados pelos dados no arquivo.

Definir isso fará com que o Realm compactará o Arquivo de Realm se o Arquivo de Realm ficar muito grande e uma quantidade significativa de espaço puder ser recuperada. Consulte DefaultCompactOnLaunchCallback para obter detalhes.

Definir isso mudará o comportamento de como as exceções de migração são tratadas. Em vez de lançar uma io.realm.Exceptions.RealmMigrationNeededException , o Realm no disco será limpo e recriado com o novo esquema de Realm.

Não é possível configurar para ter um arquivo de ativo ao mesmo tempo, chamando ativoFile(string) , pois o arquivo de ativo fornecido será excluído nas migrações.

AVISO! Isso resultará em perda de dados.

Lança

  • Exceção de estado ilegal - se configurado para usar um arquivo de ativo chamando ativoFile(string) anteriormente.

Especifica o diretório onde o Arquivo de Realm será salvo. O valor padrão é context.getFilesDir() . Se o diretório não existir, ele será criado.

Parâmetros

  • directory - o diretório para salvar o Arquivo de Realm. O diretório deve ser gravável.

Lança

Sets the 64 byte key used to encrypt and decrypt the Realm file. Define a chave de bytes io.realm.Realm#ENCRYPTION_KEY_LENGTH usada para criptografar e descriptografar o Arquivo de Realm.

Define o FlowFactory usado para criar fluxos de corrotina a partir de Objeto de Realm. O padrão de fábrica é o RealmFlowFactory .

Parâmetros

  • factory - fábrica para usar.

Definir isso criará um Realm na memória em vez de salvá-lo no disco. Os Realms na memória ainda podem usar espaço em disco se a memória estiver fraca, mas todos os arquivos criados por um Realm na memória serão excluídos quando o Realm for fechado.Observe que, como os Realms na memória não são persistentes, você deve ter certeza de mantenha pelo menos uma referência não fechada ao objeto de Realm na memória com o nome específico, enquanto quiser que os dados durem.

Define os dados iniciais em io.realm.Realm . Esta transação será executada somente pela primeira vez quando o arquivo de banco de dados for criado ou durante a migração dos dados quando Builder.deleteRealmIfMigrationNeeded() for definido.

Parâmetros

  • transaction - transação a ser executada.

Define o número máximo de versões ativas no arquivo Realm antes de uma IllegalStateException é lançado ao tentar gravar mais dados.

O Realm é capaz de lidar simultaneamente com muitas versões diferentes de Objeto de Realm. Isso pode, por exemplo, acontecer se você tiver um Realm aberto em muitos threads diferentes ou estiver congelando objetos enquanto os dados estão sendo gravados no arquivo.

Em circunstâncias normais, isso não é um problema, mas se o número de versões ativas aumentar demais, isso terá um efeito negativo no tamanho do arquivo no disco. A definição desses parâmetros pode, portanto, ser usada para evitar usos do Realm que podem resultar em Realms muito grandes.

Parâmetros

  • number - o número máximo de versões ativas antes que uma exceção seja lançada.

Dica

Veja também:

Define o io.realm.RealmMigration a ser executado se uma migração for necessária. Se essa migração não atualizar o esquema no disco para o esquema de tempo de execução, um io.realm.Exceptions.RealmMigrationNeededException será lançado.
Object baseModule,
java.lang.Object[] additionalModules
)

Substitui o(s) módulo(s) existente(s) por um ou mais RealmModule s. A utilização deste método substituirá o esquema atual deste Realm pelo esquema definido pelos módulos fornecidos.

Uma referência ao módulo Realm padrão contendo todas as classes Realm no projeto (mas não dependências), pode ser encontrada utilizando Realm.getDefaultModule() . A combinação do esquema do projeto do aplicativo e de uma dependência da biblioteca é feita com o seguinte código:

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

Parâmetros

  • baseModule - o primeiro módulo Realm (obrigatório).

  • additionalModules - os módulos adicionais do Realm

Lança

Dica

Veja também:

Define o nome do Arquivo de Realm.

Definir isso fará com que o Realm se torne somente leitura e todas as transações de gravação feitas nesse Realm falharão com uma IllegalStateException .

Isso significa especificamente que initialData(Realm.Transaction) não funcionará em combinação com um Realm somente leitura, e isso resultará em uma IllegalStateException sendo jogada.

Marcar um Realm como somente leitura se aplica apenas ao Realm nesse processo. Outros processos ainda podem escrever no Realm.

Define o RxObservableFactory usado para criar Rx Observables a partir de Objeto de Realm. O padrão de fábrica é RealmObservableFactory .

Parâmetros

  • factory - fábrica para usar.

long schemaVersion
)

Define a versão do esquema do Realm. Deve ser igual ou superior à versão do esquema do Arquivo de Realm existente, se houver. Se a versão do esquema for superior ao Realm já existente, uma migração será necessária.Se nenhum código de migração for fornecido, o Realm lançará um io.realm.Exceptions.RealmMigrationNeededException .

Dica

Veja também:

Voltar

RealmConfiguration