Pacote io.realm

Classe RealmConfiguration.Builder

  • Classe anexa:
    RealmConfiguration

    public static class RealmConfiguration.Builder
    extends Object
    RealmConfiguration.Builder usado para construir instâncias de um RealmConfiguration de forma fluente.
    • Detalhes do construtor

      • Construtor

        construtor público()
        Cria uma instância do Construtor para o RealmConfiguration.

        Isso usará o diretório interno do aplicativo para armazenar o Arquivo de 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.

    • Detalhes do método

      • Diretório

        diretório público RealmConfiguration.Builder (diretório de arquivos )
        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çamentos:
        IllegalArgumentException - se directory for nulo, não gravável ou um arquivo.
      • encryptionKey

        RealmConfiguration.Builder encryptionKey(chave byte[])
        Define a chave de 64 bytes usada para criptografar e descriptografar o Arquivo de Realm. Define a chave de 64 bytes usada para criptografar e descriptografar o Arquivo de Realm.
      • Versão do esquema

        Public RealmConfiguration.Builder schemaVersion(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 RealmMigrationNeededException.

        Veja também:
        migration(RealmMigration)
      • inMemory

        public RealmConfiguration.Builder inMemory()
        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 manter 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.

      • módulos

        módulos RealmConfiguration.Builder públicos (objeto baseModule,
                                                  objeto...
        Substitui o(s) módulo(s) existente(s) por um ou mais RealmModules. 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çamentos:
        IllegalArgumentException - se algum dos módulos não tiver a anotação RealmModule .
        Veja também:
        Realm.getDefaultModule()
      • addModule

        public final RealmConfiguration.Builder addModule​(Object module)
        FIXME: Método DEBUG visível temporariamente. Adicionará um módulo condicionalmente. Adiciona um módulo a módulos já definidos.
      • ativoFile

        public RealmConfiguration.Builder ativoFile(String ativoFile)
        Copia o Arquivo de Realm do caminho de 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 seu lugar.

        Isso não pode ser combinado com deleteRealmIfMigrationNeeded() , pois isso apenas 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çamentos:
        IllegalStateException - se estiver configurado para limpar o esquema ligando para deleteRealmIfMigrationNeeded().
      • Somente leitura

        public RealmConfiguration.Builder readOnly ()
        Definir isso fará com que o Realm se torne somente leitura e todas as transação de escrita feitas nesse Realm falharão com um IllegalStateException.

        Isso, em particular, média que initialData(Realm.Transaction) não funcionará em combinação com um Realm somente para leitura e a configuração disso resultará na liberação de um IllegalStateException .

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

        public RealmConfiguration.Builder compactaOnLaunch()
        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.
      • compactaOnLaunch

        public RealmConfiguration.Builder compactaOnLaunch(CompactOnLaunchCallback compactaOnLaunch)
        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.
      • maxNumberOfAtiveVersions

        public RealmConfiguration.Builder maxNumberOfAtiveVersions(número longo)
        Define o número máximo de versões ativas no Arquivo de Realm antes que um IllegalStateException seja 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.
        Veja também:
        Perguntas frequentes
      • allowQueriesOnUiThread

        public RealmConfiguration.Builder allowQueriesOnUiThread(boolean allowQueriesOnUiThread)
        Define se um RealmQuery pode ou não ser iniciado a partir do thread da interface do usuário.

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