Docs Menu
Docs Home
/ /
io.realm

クラス RealmConfiguration.Builder

java.lang.Object
io.realm.RealmConfiguration.Builder

クラスを囲みます。

RealmConfiguration

RealmConfiguration.Builder は、RealmConfiguration のインスタンスをスムーズに構築するために使用されます。

コンストラクターと説明

RealmConfiguration のビルダのインスタンスを作成します。

修飾子と型
メソッドと説明
Object module
)

修正: 一時的に表示される DEBUG メソッド。

boolean allowQueriesOnUiThread
)

RealmQueryを UI スレッドから起動できるかどうかを設定します。

boolean allowWritesOnUiThread
)

UI スレッドからRealm.executeTransactionへの呼び出しを許可するかどうかを設定します。

String assetFile
)

指定されたアセット ファイル パスから Realm ファイルをコピーします。

ビルダ パラメータに基づいて RealmConfiguration を作成します。

Realm ファイルをユーザーに返す前に圧縮する必要があるかどうかを決定するためにこれを設定します。

これを設定すると、Realm ファイルが大きくなりすぎて有効な量のスペースが復元される場合、Realm は Realm ファイルを圧縮します。

これを設定すると、移行例外の処理方法の動作が変更されます。

File directory
)

Realm ファイルを保存するディレクトリを指定します。

byte[] key
)

Realm ファイルの暗号化と復号化に使用される 64 バイト キーを設定します。

Realm オブジェクトからコルーチン フローを作成するために使用されるFlowFactoryを設定します。

これを設定すると、ディスクに保存されるのではなく、メモリ内 Realm が作成されます。

io.realm.Realmに初期データを設定します。

追加のデータの書込みを試みるときに IllgealStateException がスローされる前に、 Realm ファイル内のライブ バージョンの最大数を設定します。

移行が必要な場合にio.realm.RealmMigrationを実行するように設定します。

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

既存のモジュールを 1 つ以上のRealmModleに置き換えます。

String filename
)

Realm ファイルのファイル名を設定します。

これを設定すると、 Realm は読み取り専用になり、このRealmに対して行われたすべての書込みトランザクション (write transaction) は、 IllealStateException で失敗します。

Realm オブジェクトから Rx Observable を作成するために使用されるRxObservableFactoryを設定します。

long schemaVersion
)

Realm のスキーマ バージョンを設定します。

  • クラスjava.lang.Object から継承されたメソッド:getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

public Builder ()

RealmConfiguration 用のビルダのインスタンスを作成します。これにより、Realm ファイルを保存するためにアプリ独自の内部ディレクトリが使用されます。 これには追加の権限は必要ありません。 デフォルトのロケーションは/data/data/<packagename>/filesですが、Android のベンダーの実装によって変更される可能性があります。

修正: 一時的に表示される DEBUG メソッド。 無条件にモジュールを追加します。 すでに定義されているモジュールにモジュールを追加します。

boolean allowQueriesOnUiThread
)

RealmQueryを UI スレッドから起動できるかどうかを設定します。

デフォルトでは、Realm はメイン スレッドでのクエリを許可します。 ただし、そうすると、アプリケーションのフレームワークが低下したり、ARN が発生したりする可能性があります。 クエリを非 UI スレッドに転送する、または RealmQuery.findAllAsync ()またはRealmQuery.findFirstAsync( ) を使用することをお勧めします。

boolean allowWritesOnUiThread
)

UI スレッドからRealm.executeTransactionへの呼び出しを許可するかどうかを設定します。

警告: Realm では、ユーザーがこのメソッドで明示的にオプトインしない限り、メイン スレッドで同期トランザクションを実行することはできません。 executeTransactionへの呼び出しを非 UI スレッドに切り替えるか、 Realm.executeTransactionAsyncを使用することをおすすめします。

指定されたアセット ファイル パスから Realm ファイルをコピーします。初めて Realm を開くと、空のファイルが作成される代わりに、Realm ファイルは提供されたアセット ファイルからコピーされ、使用されます。

これを deleteRealmIfMigrationNeted() と組み合わせることはできません。これを行うと、コピーされたファイルがのみ削除されます。

警告: これは長時間の操作になる可能性があるため、理想的にはバックグラウンド スレッドで実行する必要があります。

パラメーター

  • assetFile - アセット データベース ファイルへのパス。

スロー

ビルダ パラメータに基づいて RealmConfiguration を作成します。

戻り値

作成されたRealmConfiguration

Realm ファイルをユーザーに返す前に圧縮する必要があるかどうかを決定するためにこれを設定します。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用されるバイト数が渡されます。

パラメーター

  • compactOnLaunch - プロセスの有効期間中に Realm を初めて開き、ユーザーに返される前に圧縮する必要があるかどうかを判断するときに呼び出されるコールバック。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用されるバイト数が渡されます。

これを設定すると、Realm ファイルが大きくなりすぎて有効な量のスペースが復元される場合、Realm は Realm ファイルを圧縮します。 詳細については、「 DefaultCompactOnLaunchコールバック」を参照してください。

これを設定すると、移行例外の処理方法の動作が変更されます。 io.realm .例外をスローする代わりに、ディスク上の Realm はクリアされ、新しい Realm スキーマで再作成されます。

これは、提供されたアセットファイルは移行で削除されるため、assetFile(string) を呼び出して同時にアセットファイルを存在するように構成することはできません。

警告。 これにより、データが失われます。

スロー

Realm ファイルを保存するディレクトリを指定します。 デフォルト値はcontext.getFilesDir()です。 ディレクトリが存在しない場合は、作成されます。

パラメーター

  • directory - Realm ファイルを保存するディレクトリ。 ディレクトリは書込み可能である必要があります。

スロー

Realm ファイルの暗号化と復号化に使用される 64 バイト キーを設定します。 Realm ファイルの暗号化と復号化に使用される io.realm.Realm#enCRYPTION_KEY_LENGTH バイトキーを設定します。

Realm オブジェクトからコルーチン フローを作成するために使用されるFlowFactoryを設定します。 デフォルトのファクトリーはRealmFlowFactoryです。

パラメーター

  • factory - 使用するファクトリー。

これを設定すると、ディスクに保存されるのではなく、メモリ内 Realm が作成されます。 メモリが不足している場合は、インメモリ Realm でもディスク領域が使用される可能性がありますが、Realm が閉じられると、インメモリ Realm によって作成されたすべてのファイルが削除されます。インメモリ Realm は永続化されないため、次が付けられている必要があることに注意してください:データが存在する限り、特定の名前を持つメモリ内の Realm オブジェクトへの閉じられていない参照を少なくとも 1 つ保持します。

io に初期データを設定します。邦土。 Realm 。このトランザクションは、データベースファイルが作成されたときに初めて実行されるか、 Builder.deleteRealmIfMigrationNeted() が設定されている場合にのみ実行されます。

パラメーター

  • transaction - 実行するトランザクション。

追加のデータの書込みを試みるときに IllgealStateException がスローされる前に、 Realm ファイル内のライブ バージョンの最大数を設定します。

Realm は、多くの異なるバージョンの Realm オブジェクトを同時に処理することができます。 これは例えば データが ファイルに書き込まれているときに、多数の異なるスレッドで Realm を開いているか、オブジェクトをフリーズしている場合は、 が発生します。

通常の状況では、これは問題ではありませんが、アクティブなバージョンの数が大きくなりすぎると、ディスク上のファイルサイズに悪影響が生じます。 したがって、このパラメーターを設定すると、Realm が非常に大きくなる可能性のある Realm の使用を防ぐために使用できます。

パラメーター

  • number - 例外がスローされるまでのアクティブなバージョンの最大数。

Tip

移行が必要な場合にio.realm.RealmMigrationを実行するように設定します。 この移行によってディスク上のスキーマがランタイム スキーマにアップグレードされない場合、 io.realm.Exceptions.RealmMigrationNetedExceptionがスローされます。

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

既存のモジュールを 1 つ以上のRealmModleに置き換えます。 このメソッドを使用すると、この Realm の現在のスキーマが、提供されている モジュールによって定義されているスキーマに置き換えられます。

プロジェクト内のすべての Realm クラス(ただし、依存関係は含まない)を含むデフォルトの Realm モジュールへの参照は、 Realm.getDefaultModule()を使用して見つけることができます。 アプリプロジェクトとライブラリの依存関係のスキーマを組み合わせるには、次のコードを使用します。

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

パラメーター

  • baseModule - 最初の Realm モジュール(必須)。

  • additionalModules - 追加の Realm モジュール

スロー

Realm ファイルのファイル名を設定します。

これを設定すると、 Realm は読み取り専用になり、このRealmに対して行われたすべての書込みトランザクション (write transaction) は、 IllealStateException で失敗します。

これは特に initialData( Realm.Transaction) が読み取り専用Realmと組み合わせて動作せず、これを設定すると IllealStateException がスローされることを平均。

Realm を読み取りとしてマークすると、このプロセス内の Realm にのみ適用されます。 他のプロセスは引き続き Realm に書込むことができます。

Realm オブジェクトから Rx Observable を作成するために使用されるRxObservableFactoryを設定します。 デフォルトのファクトリーはRealmObservableFactoryです。

パラメーター

  • factory - 使用するファクトリー。

long schemaVersion
)

Realm のスキーマ バージョンを設定します。 これは、既存の Realm ファイルのスキーマ バージョンと等しいか、それ以上である必要があります(存在する場合)。 スキーマ バージョンが既存の Realm よりも高い場合は、移行が必要です。移行コードが提供されていない場合、Realm はio.realm.Exceptions.RealmMigrationNetedExceptionをスローします。

戻る

RealmConfiguration

項目一覧