クラス RealmConfiguration.Builder
- java.lang.Object
-
- io.realm.RealmConfiguration.Builder
-
- クラスを囲みます。
- RealmConfiguration
public static class RealmConfiguration.Builder extends Object
RealmConfiguration.Builder は、RealmConfiguration のインスタンスをスムーズに構築するために使用されます。
-
-
コンストラクターの概要
コンストラクター Constructor 説明 Builder()
RealmConfiguration のビルダのインスタンスを作成します。
-
メソッドの概要
すべてのメソッド インスタンス メソッド 具象メソッド 修飾子と型 方式 説明 RealmConfiguration.Builder
addModule(Object module)
修正: 一時的に表示される DEBUG メソッド。RealmConfiguration.Builder
allowQueriesOnUiThread(boolean allowQueriesOnUiThread)
UI スレッドからRealmQuery
を起動できるかどうかを設定します。RealmConfiguration.Builder
allowWritesOnUiThread(boolean allowWritesOnUiThread)
UI スレッドからRealm.executeTransaction(io.realm.Realm.Transaction)
への呼び出しを許可するかどうかを設定します。RealmConfiguration.Builder
assetFile(String assetFile)
指定されたアセット ファイル パスから Realm ファイルをコピーします。RealmConfiguration
build()
ビルダ パラメータに基づいて RealmConfiguration を作成します。RealmConfiguration.Builder
compactOnLaunch()
これを設定すると、Realm ファイルが大きくなりすぎて有効な量のスペースが復元される場合、Realm は Realm ファイルを圧縮します。RealmConfiguration.Builder
compactOnLaunch(CompactOnLaunchCallback compactOnLaunch)
Realm ファイルをユーザーに返す前に圧縮する必要があるかどうかを決定するためにこれを設定します。RealmConfiguration.Builder
deleteRealmIfMigrationNeeded()
これを設定すると、移行例外の処理方法の動作が変更されます。RealmConfiguration.Builder
directory(File directory)
Realm ファイルを保存するディレクトリを指定します。RealmConfiguration.Builder
encryptionKey(byte[] key)
Realm ファイルの暗号化と復号化に使用される 64 バイト キーを設定します。RealmConfiguration.Builder
flowFactory(FlowFactory factory)
Realm オブジェクトからコルーチン フローを作成するために使用されるFlowFactory
を設定します。RealmConfiguration.Builder
initialData(Realm.Transaction transaction)
Realm
に初期データを設定します。RealmConfiguration.Builder
inMemory()
これを設定すると、ディスクに保存されるのではなく、メモリ内 Realm が作成されます。RealmConfiguration.Builder
maxNumberOfActiveVersions(long number)
追加のデータ書込みを試みるときにIllegalStateException
がスローされる前に、Realm ファイル内のライブ バージョンの最大数を設定します。RealmConfiguration.Builder
migration(RealmMigration migration)
移行が必要な場合に実行するようにRealmMigration
を設定します。RealmConfiguration.Builder
modules(Object baseModule, Object... additionalModules)
既存のモジュールを 1 つ以上のRealmModule
に置き換えます。RealmConfiguration.Builder
name(String filename)
Realm ファイルのファイル名を設定します。RealmConfiguration.Builder
readOnly()
これを設定すると、Realm は読み取り専用になり、この Realm に対して行われたすべての書込みトランザクションが失敗し、IllegalStateException
が返されます。RealmConfiguration.Builder
rxFactory(RxObservableFactory factory)
Realm オブジェクトから Rx Observable を作成するために使用されるRxObservableFactory
を設定します。RealmConfiguration.Builder
schemaVersion(long schemaVersion)
Realm のスキーマ バージョンを設定します。
-
-
-
メソッドの詳細
-
name
public RealmConfiguration.Builder name( stringファイル名)
Realm ファイルのファイル名を設定します。
-
ディレクトリ
public RealmConfiguration.Builderdirectory (ファイルディレクトリ)
Realm ファイルを保存するディレクトリを指定します。 デフォルト値はcontext.getFilesDir()
です。 ディレクトリが存在しない場合は、作成されます。- パラメーター:
directory
- Realm ファイルを保存するディレクトリ。 ディレクトリは書込み可能である必要があります。- 次の例外がスローされます。
IllegalArgumentException
-directory
が null、書込み可能ではなく、 ファイルの場合。
-
encryptionKey
public RealmConfiguration.Builder encryptionKey(byte[] キー)
Realm ファイルの暗号化と復号化に使用される 64 バイト キーを設定します。 Realm ファイルの暗号化と復号化に使用される64バイト キーを設定します。
-
schemaVersion
public RealmConfiguration.Builder schemaVersion(long schemaVersion)
Realm のスキーマ バージョンを設定します。 This must be equal to or higher than the schema version of the existing Realm file, if any. スキーマ バージョンが既存の Realm よりも高い場合は、移行が必要です。移行コードが指定されていない場合、Realm は
RealmMigrationNeededException
をスローします。- 以下も参照してください。
migration(RealmMigration)
-
migration
public RealmConfiguration.Builderの移行 ( RealmMigrationの移行)
移行が必要な場合に実行するようにRealmMigration
を設定します。 この移行によってディスク上のスキーマがランタイム スキーマにアップグレードされない場合は、RealmMigrationNeededException
がスローされます。
-
deleteRealmIfMigrationMoneded
public RealmConfiguration.Builder deleteRealmIfMigrationMoneded()
これを設定すると、移行例外の処理方法の動作が変更されます。RealmMigrationNeededException
をスローする代わりに、ディスク上の Realm がクリアされ、新しい Realm スキーマで再作成されます。これは、提供されたアセット ファイルが移行で削除されるため、
assetFile(String)
を呼び出して同時にアセット ファイルを存在するように構成することはできません。警告。 これにより、データが失われます。
- 次の例外がスローされます。
IllegalStateException
- 以前にassetFile(String)
を呼び出してアセット ファイルを使用するように構成されている場合。
-
インメモリ
public RealmConfiguration.Builder inMemory()
これを設定すると、ディスクに保存されるのではなく、メモリ内 Realm が作成されます。 メモリが不足している場合は、インメモリ Realm でもディスク領域が使用される可能性がありますが、Realm が閉じられると、インメモリ Realm によって作成されたすべてのファイルが削除されます。メモリ内 Realm は永続化されないため、データが最後に表示される限り、特定の名前のメモリ内 Realm オブジェクトへの閉じられていない参照を少なくとも 1 つ保持する必要があることに注意してください。
-
modules
public RealmConfiguration.Builderモジュール( Object baseModule、 Object ... additionalModules)
既存のモジュールを 1 つ以上のRealmModule
に置き換えます。 このメソッドを使用すると、この Realm の現在のスキーマが、提供されている モジュールによって定義されているスキーマに置き換えられます。プロジェクト内のすべての Realm クラス(ただし、依存関係は含まない)を含むデフォルトの Realm モジュールへの参照は、
Realm.getDefaultModule()
を使用して見つけることができます。 アプリプロジェクトとライブラリの依存関係のスキーマを組み合わせるには、次のコードを使用します。builder.modules(Realm.getDefaultMode(), new MyLibraryModule());
- パラメーター:
baseModule
- 最初の Realm モジュール(必須)。additionalModules
- 追加の Realm モジュール- 次の例外がスローされます。
IllegalArgumentException
- いずれのモジュールにもRealmModule
アノテーションがない場合。- 以下も参照してください。
Realm.getDefaultModule()
-
addModule
public final RealmConfiguration.Builder addModule(Object module)
修正: 一時的に表示される DEBUG メソッド。 無条件にモジュールを追加します。 すでに定義されているモジュールにモジュールを追加します。
-
rxFactory
public RealmConfiguration.Builder rxFactory( @Nonnull RxObservableFactoryファクトリー)
Realm オブジェクトから Rx Observable を作成するために使用されるRxObservableFactory
を設定します。 デフォルトのファクトリーはRealmObservableFactory
です。- パラメーター:
factory
- 使用するファクトリー。
-
cloudFactory
public RealmConfiguration.BuilderflowFactory ( @Nonnull FlowFactoryファクトリー)
Realm オブジェクトからコルーチン フローを作成するために使用されるFlowFactory
を設定します。 デフォルトのファクトリーはRealmFlowFactory
です。- パラメーター:
factory
- 使用するファクトリー。
-
initialData
public RealmConfiguration.Builder initialData ( Realm.Transaction transaction)
Realm
に初期データを設定します。 このトランザクションは、データベース ファイルが作成されているとき、またはdeleteRealmIfMigrationNeeded()
が設定されている場合に データを移行しているときにのみ実行されます。- パラメーター:
transaction
- 実行するトランザクション。
-
assetFile
public RealmConfiguration.BuilderassetFile ( string )
指定されたアセット ファイル パスから Realm ファイルをコピーします。Realm を初めて開くと、空のファイルが作成される代わりに、提供されたアセット ファイルから Realm ファイルがコピーされ、使用されます。
これを
deleteRealmIfMigrationNeeded()
と組み合わせることはできません。これを行うと、コピーされたファイルが削除されるだけでした。警告: これは長時間の操作になる可能性があるため、理想的にはバックグラウンド スレッドで実行する必要があります。
- パラメーター:
assetFile
- アセット データベース ファイルへのパス。- 次の例外がスローされます。
IllegalStateException
-deleteRealmIfMigrationNeeded()
を呼び出してスキーマをクリアするように構成されている場合。
-
readOnly
public RealmConfiguration.Builder readOnly()
これを設定すると、Realm は読み取り専用になり、この Realm に対して行われたすべての書込みトランザクションが失敗し、IllegalStateException
が返されます。これは特に、
Realm を読み取りとしてマークすると、このプロセス内の Realm にのみ適用されます。 他のプロセスは引き続き Realm に書込むことができます。initialData(Realm.Transaction)
が読み取り専用 Realm と組み合わせて動作せず、これを設定するとIllegalStateException
がスローされることを意味します。
-
compactOnLaunch
public RealmConfiguration.Builder compactOnLaunch()
これを設定すると、Realm ファイルが大きくなりすぎて有効な量のスペースが復元される場合、Realm は Realm ファイルを圧縮します。 詳細については、DefaultCompactOnLaunchCallback
を参照してください。
-
compactOnLaunch
public RealmConfiguration.Builder compactOnLaunch( CompactOnLaunchCallback compactOnLauth)
Realm ファイルをユーザーに返す前に圧縮する必要があるかどうかを決定するためにこれを設定します。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用されるバイト数が渡されます。- パラメーター:
compactOnLaunch
- プロセスの有効期間中に Realm を初めて開き、ユーザーに返される前に圧縮する必要があるかどうかを判断するときに呼び出されるコールバック。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用されるバイト数が渡されます。
-
maxNumberOfActiveVersions
public RealmConfiguration.Builder maxNumberOfActiveVersions(long number)
追加のデータ書込みを試みるときにIllegalStateException
がスローされる前に、Realm ファイル内のライブ バージョンの最大数を設定します。Realm は、多くの異なるバージョンの Realm オブジェクトを同時に処理することができます。 これは例えば データが ファイルに書き込まれているときに、多数の異なるスレッドで Realm を開いているか、オブジェクトをフリーズしている場合は、 が発生します。
通常の状況では、これは問題ではありませんが、アクティブなバージョンの数が大きくなりすぎると、ディスク上のファイルサイズに悪影響が生じます。 したがって、このパラメーターを設定すると、Realm が非常に大きくなる可能性のある Realm の使用を防ぐために使用できます。
- パラメーター:
number
- 例外がスローされるまでのアクティブなバージョンの最大数。- 以下も参照してください。
- FAQ
-
allowWritesOnUiThread
public RealmConfiguration.Builder allowWritesOnUiThread(ブール値 allowWritesOnUiThread)
UI スレッドからRealm.executeTransaction(io.realm.Realm.Transaction)
への呼び出しを許可するかどうかを設定します。警告: Realm では、ユーザーがこのメソッドで明示的にオプトインしない限り、メイン スレッドで同期トランザクションを実行することはできません。
executeTransaction
への呼び出しを非 UI スレッドに転送するか、あるいはRealm.executeTransactionAsync(io.realm.Realm.Transaction)
を使用することを推奨します。
-
allowQueriesOnUiThread
public RealmConfiguration.Builder allowQueriesOnUiThread(ブール値 allowQueriesOnUiThread)
UI スレッドからRealmQuery
を起動できるかどうかを設定します。デフォルトでは、Realm はメイン スレッドでのクエリを許可します。 ただし、そうすると、アプリケーションのフレームワークが低下したり、ARN が発生したりする可能性があります。 クエリを非 UI スレッドに転送するか、代わりに
RealmQuery.findAllAsync()
またはRealmQuery.findFirstAsync()
を使用することをお勧めします。
-
構築
public RealmConfiguration build()
ビルダ パラメータに基づいて RealmConfiguration を作成します。- 次の値を返します。
- は
RealmConfiguration
を作成しました。
-
-