クラスRealm
- java.lang.Object
-
- io.realm.Realm
-
- すべての実装インターフェース:
Closeable
,AutoCloseable
public class Realm extends Object
Realm クラスは、オブジェクト永続ストアのストレージとトランザクションのマネージャーです。 RealmObjects のインスタンスの作成が担当されます。 Realm 内のオブジェクトはいつでもクエリされ、読み取ることができます。 オブジェクトの作成、変更、削除は トランザクション 内で行う必要があります。 利用可能な認証メカニズムについては、executeTransaction(Transaction)
トランザクションにより、(複数のスレッド上の)複数の インスタンスが、完全な ACID 保証と一貫した状態で同じオブジェクトにアクセスできるようになります。
Realm インスタンスで実行する場合は、
Closeable.close()
メソッドを呼び出すことを忘れないことが重要です。 ネイティブ リソースを解放できないため、そのような操作に失敗するとOutOfMemoryError
が発生する可能性があります。Realm インスタンスは異なるスレッドでは使用できません。 つまり、Realm を使用する各スレッドで インスタンスを開く必要があります。 Realm インスタンスは参照カウントを使用してスレッドごとに自動的にキャッシュされるため、参照数が 0 にならない限り、
getInstance(RealmConfiguration)
を呼び出してもキャッシュされた Realm のみが返されるため、軽量操作とみなしてください。これは UI スレッドの場合、Realm の開き方と閉じ方は onCreate/onDestructy または onStart/onStop のいずれかで行われる必要があることを意味します。
Realm インスタンスは、
Handler
メカニズムを使用して、スレッド間で状態を調整します。 つまり、Looper
のないスレッド上の Realm インスタンスは、refresh()
が手動で呼び出されない限り更新を受信できません。Android アクティビティで Realm を使用して操作するための標準パターンは以下の通りです。
public class RealmApplication extends Application { \@Override public void onCreate() { super.onCreate(); // The Realm file will be located in package's "files" directory. RealmConfiguration realmConfig = new RealmConfiguration.Builder(this).build(); Realm.setDefaultConfiguration(realmConfig); } } public class RealmActivity extends Activity { private Realm realm; \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_main); realm = Realm.getDefaultInstance(); } \@Override protected void onDestroy() { super.onDestroy(); realm.close(); } }
Realm は、最大 16 MB の string およびバイト フィールドをサポートします。
- 以下も参照してください。
- ACID 、 Realm を使用する例
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子と型 クラス 説明 static class
Realm.Callback
getInstanceAsync(RealmConfiguration, Realm.Callback)
またはDynamicRealm.getInstanceAsync(RealmConfiguration, DynamicRealm.Callback)
のいずれかを使用して Realm を非同期にロードした結果を報告するときに使用されるコールバック。static interface
Realm.Transaction
Realm トランザクションをカプセル化します。
-
フィールドの概要
フィールド 修飾子と型 フィールド 説明 static String
DEFAULT_REALM_NAME
static int
ENCRYPTION_KEY_LENGTH
Realm データの暗号化に使用される暗号化キーに必要な長さ。static io.realm.BaseRealm.ThreadLocalRealmObjectContext
objectContext
io.realm.internal.OsSharedRealm
sharedRealm
static io.realm.internal.async.RealmThreadPoolExecutor
WRITE_EXECUTOR
書込み操作に使用されるスレッド プール エグゼキュータ。書込みは並列化できないため、1 つのスレッドのみが必要です。
-
メソッドの概要
すべてのメソッド 静的メソッド インスタンス メソッド 具象メソッド 非推奨メソッド 修飾子と型 方式 説明 void
addChangeListener(RealmChangeListener<Realm> listener)
Realm に変更リスナーを追加します。Flowable<Realm>
asFlowable()
この Realm への変更を監視する RxJava フロー可能を返します。void
beginTransaction()
トランザクションを開始します。このトランザクションはBaseRealm.commitTransaction()
によって閉じられるか、BaseRealm.cancelTransaction()
によって中止される必要があります。void
cancelTransaction()
現在の書込みトランザクションで行われたすべての書込み(作成、更新、または削除されたオブジェクト)を元に戻し、トランザクションを終了します。void
close()
Realm インスタンスとそのすべてのリソースを閉じます。void
commitTransaction()
BaseRealm.beginTransaction()
以降のすべての変更はディスクに永続化し、Realm は読み取り専用に戻ります。static boolean
compactRealm(RealmConfiguration configuration)
Realm ファイルを圧縮します。<E extends RealmModel>
EcopyFromRealm(E realmObject)
すでに永続化されているRealmObject
の管理されていないメモリ内コピーを作成します。<E extends RealmModel>
EcopyFromRealm(E realmObject, int maxDepth)
すでに永続化されているRealmObject
の管理されていないメモリ内コピーを作成します。<E extends RealmModel>
List<E>copyFromRealm(Iterable<E> realmObjects)
すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。<E extends RealmModel>
List<E>copyFromRealm(Iterable<E> realmObjects, int maxDepth)
すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。<E extends RealmModel>
EcopyToRealm(E object, ImportFlag... flags)
RealmObject を Realm インスタンスにコピーし、コピーを返します。<E extends RealmModel>
List<E>copyToRealm(Iterable<E> objects, ImportFlag... flags)
RealmObject のコレクションを Realm インスタンスにコピーし、そのコピーを返します。<E extends RealmModel>
EcopyToRealmOrUpdate(E object, ImportFlag... flags)
同じPrimaryKey
によって識別される既存の RealmObject を更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。<E extends RealmModel>
List<E>copyToRealmOrUpdate(Iterable<E> objects, ImportFlag... flags)
PrimaryKey
で識別される既存の RealmObject のリストを更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。<E extends RealmModel>
voidcreateAllFromJson(Class<E> clazz, InputStream inputStream)
JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。<E extends RealmModel>
voidcreateAllFromJson(Class<E> clazz, String json)
JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。<E extends RealmModel>
voidcreateAllFromJson(Class<E> clazz, JSONArray json)
JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。<E extends RealmModel>
EcreateEmbeddedObject(Class<E> clazz, RealmModel parentObject, String parentProperty)
インスタンス化して、新しい埋め込みオブジェクトを Realm に追加します。<E extends RealmModel>
EcreateObject(Class<E> clazz)
インスタンス化して、新しいオブジェクトを Realm に追加します。<E extends RealmModel>
EcreateObject(Class<E> clazz, Object primaryKeyValue)
プライマリキー値がすでに設定されている新しいオブジェクトをインスタンス化し、Realm に追加します。<E extends RealmModel>
EcreateObjectFromJson(Class<E> clazz, InputStream inputStream)
JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。<E extends RealmModel>
EcreateObjectFromJson(Class<E> clazz, String json)
JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。<E extends RealmModel>
EcreateObjectFromJson(Class<E> clazz, JSONObject json)
JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。<E extends RealmModel>
voidcreateOrUpdateAllFromJson(Class<E> clazz, InputStream in)
プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。<E extends RealmModel>
voidcreateOrUpdateAllFromJson(Class<E> clazz, String json)
プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。<E extends RealmModel>
voidcreateOrUpdateAllFromJson(Class<E> clazz, JSONArray json)
プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。<E extends RealmModel>
EcreateOrUpdateObjectFromJson(Class<E> clazz, InputStream in)
プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。<E extends RealmModel>
EcreateOrUpdateObjectFromJson(Class<E> clazz, String json)
プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。<E extends RealmModel>
EcreateOrUpdateObjectFromJson(Class<E> clazz, JSONObject json)
プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。void
delete(Class<? extends RealmModel> clazz)
指定されたクラスのすべてのオブジェクトを Realm から削除します。void
deleteAll()
この Realm からすべてのオブジェクトを削除します。static boolean
deleteRealm(RealmConfiguration configuration)
Realm ファイルおよび関連する一時ファイルとともに指定されたRealmConfiguration
によって指定された関連一時ファイルをファイルシステムから削除します。void
executeTransaction(Realm.Transaction transaction)
Realm で指定されたトランザクションを実行します。RealmAsyncTask
executeTransactionAsync(Realm.Transaction transaction)
executeTransaction(Transaction)
と同様ですが、ワーカー スレッドで非同期に実行されます。RealmAsyncTask
executeTransactionAsync(Realm.Transaction transaction, Realm.Transaction.OnError onError)
executeTransactionAsync(Transaction)
と同様ですが、 OnError コールバックも受け入れます。RealmAsyncTask
executeTransactionAsync(Realm.Transaction transaction, Realm.Transaction.OnSuccess onSuccess)
executeTransactionAsync(Transaction)
と同様ですが、 OnSuccess コールバックも受け入れます。RealmAsyncTask
executeTransactionAsync(Realm.Transaction transaction, Realm.Transaction.OnSuccess onSuccess, Realm.Transaction.OnError onError)
executeTransactionAsync(Transaction)
と同様ですが、 OnSuccess と OnError コールバックも受け入れます。Realm
freeze()
現在の Realm の固定スナップショットを返します。static Context
getApplicationContext()
init(Context)
またはinit(Context, String)
を使用して Realm を初期化するときに使用されるアプリケーション コンテキストを取得します。RealmConfiguration
getConfiguration()
この Realm のRealmConfiguration
を返します。static RealmConfiguration
getDefaultConfiguration()
getDefaultInstance()
のデフォルト構成を返します。static Realm
getDefaultInstance()
Realm の静的コンストラクターは、RealmConfiguration
によってsetDefaultConfiguration(RealmConfiguration)
によって設定された Realm インスタンスを返します。static Object
getDefaultModule()
デフォルトの Realm モジュールを返します。static int
getGlobalInstanceCount(RealmConfiguration configuration)
この構成を使用している現在のプロセス内のすべてのスレッドで開いている Realm インスタンスの現在の数を返します。static Realm
getInstance(RealmConfiguration configuration)
提供された Realm インスタンスを返す Realm 静的コンストラクターRealmConfiguration
static RealmAsyncTask
getInstanceAsync(RealmConfiguration configuration, Realm.Callback callback)
プロセスでRealmConfiguration
ごとに最初の Realm インスタンスを作成するには、その時点ですべての初期化コードを実行する必要があるため、時間がかかる場合があります(Realmの設定、スキーマの検証、初期データの作成)。static int
getLocalInstanceCount(RealmConfiguration configuration)
このメソッドを呼び出しているスレッドで開いている Realm インスタンスの現在の数を返します。long
getNumberOfActiveVersions()
この Realm によって現在保持されているアクティブなバージョンの現在の数を返します。String
getPath()
この Realm がディスク上で保存されている場所への標準パスを返します。RealmSchema
getSchema()
この Realm のスキーマを返します。SubscriptionSet
getSubscriptions()
この Realm に関連付けられているサブスクリプションセットを返します。long
getVersion()
この Realm のスキーマ バージョンを返します。static void
init(Context context)
Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。static void
init(Context context, String userAgent)
Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。void
insert(RealmModel object)
マネージドされていない RealmObject を挿入します。void
insert(Collection<? extends RealmModel> objects)
マネージドされていない RealmObjects のリストを挿入します。void
insertOrUpdate(RealmModel object)
管理されていない RealmObject を挿入または更新します。void
insertOrUpdate(Collection<? extends RealmModel> objects)
管理されていない RealmObject のリストを挿入または更新します。boolean
isAutoRefresh()
Realm インスタンスの自動更新ステータスを取得します。boolean
isClosed()
Realm
インスタンスがすでに閉じられているかどうかを確認します。boolean
isEmpty()
このRealm
にオブジェクトが含まれているかどうかを確認します。boolean
isFrozen()
この Realm が固定されているかどうかを返します。boolean
isInTransaction()
Realm が現在トランザクションを実行中かどうかを確認します。static void
migrateRealm(RealmConfiguration configuration)
指定された RealmConfiguration に関連付けられた移行を手動でトリガーします。static void
migrateRealm(RealmConfiguration configuration, RealmMigration migration)
RealmMigration で移行を手動でトリガーします。void
refresh()
Realm インスタンスと、それから取得されるすべての RealmResults インスタンスおよび RealmObjects インスタンスを更新します。void
removeAllChangeListeners()
ユーザー定義のすべての変更リスナーを削除します。void
removeChangeListener(RealmChangeListener<Realm> listener)
指定された変更リスナーを削除します。static void
removeDefaultConfiguration()
現在のデフォルト構成(存在する場合)を削除します。void
setAutoRefresh(boolean autoRefresh)
Realm インスタンスの自動更新ステータスを設定します。static void
setDefaultConfiguration(RealmConfiguration configuration)
RealmConfiguration
を呼び出すときに使用されるgetDefaultInstance()
を設定します。void
stopWaitForChange()
非推奨。このメソッドは次のメジャー リリースで削除されます:boolean
waitForChange()
非推奨。このメソッドは、次のメジャー リリースで削除されます。<E extends RealmModel>
RealmQuery<E>where(Class<E> clazz)
型指定された RealmQuery を返します。これは、この型の特定のオブジェクトに対するクエリに使用できますvoid
writeCopyTo(File destination)
Realm の圧縮されたコピーを指定された宛先ファイルに書込みます。void
writeEncryptedCopyTo(File destination, byte[] key)
Realm の圧縮され暗号化されたコピーを指定された宛先ファイルに書込みます。
-
-
-
フィールドの詳細
-
Encryption_KEY_Length
public static final int ENCRYPTION_KEY_LENGTH
Realm データの暗号化に使用される暗号化キーに必要な長さ。- 以下も参照してください。
- 定数フィールド値
-
WRITE_EXECUTOR
public static final io.realm.internal.async.RealmThreadPoolExecutor WRITE_EXECUTOR
書込み操作に使用されるスレッド プール エグゼキュータ。書込みは並列化できないため、1 つのスレッドのみが必要です。
-
SharedRealm
public io.realm.internal.OsSharedRealm sharedRealm
-
objectContext
public static final io.realm.BaseRealm.ThreadLocalRealmObjectContext objectContext
-
-
メソッドの詳細
-
asFlowable
public Flowable<Realm> asFlowable()
この Realm への変更を監視する RxJava フロー可能を返します。 にサブスクライブすると、現在の状態が発行されます。 Realm が更新されるにつれてアイテムは継続的に出力されます。onComplete
は呼び出されません。Realm フロー可能から出力されるアイテムは固定されています(
freeze()
を参照してください。 つまり、これらは不変で、どのスレッドでも読み取ることができます。Realm フロー接続は、ライブ Realm を保持するスレッドから常にアイテムを出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。
realm.asFlowable() .observeOn(Schedulers.computation()) .map(rxRealm -> doExpensiveWork(rxRealm)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
asFlowable()
で 項目の発行を停止する場合は、first()
演算子を使用して RxJava に最初の 項目のみを発行するように指示できます。realm.asFlowable().first().subscribe( ... ); // You only get the results once
- 次の値を返します。
- RxJava Observable は
onNext
のみを呼び出します。onComplete
またはOnError
は呼び出されません。 - 以下も参照してください。
- RxJava と Realm
-
isEmpty
公開ブール値 isEmpty()
このRealm
にオブジェクトが含まれているかどうかを確認します。- 次の値を返します。
true
空の場合は @{code false} を します。
-
getSchema
public RealmSchema getSchema()
この Realm のスキーマを返します。 スキーマは不変です。 この値を変更しようとすると、UnsupportedOperationException
が返されます。スキーマは、
DynamicRealm.getSchema()
を使用するか、移行によってのみ変更できます。- 次の値を返します。
- この Realm の
RealmSchema
。
-
init
public static void init(Context context)
Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。 Realm API の他の を操作する前に、このメソッドを呼び出す必要があります。適切な場所は
Application
サブクラス内にあります。public class MyApplication extends Application { \@Override public void onCreate() { super.onCreate(); Realm.init(this); } }
これを
AndroidManifest.xml
ファイルに必ず登録してください。<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.realm.example"> <application android:name=".MyApplication"> // ... </application> </manifest>
- パラメーター:
context
- アプリケーション コンテキスト。- 次の例外がスローされます。
IllegalArgumentException
-null
コンテキストが提供されている場合。IllegalStateException
-Context.getFilesDir()
が見つからなかった場合。- 以下も参照してください。
getDefaultInstance()
-
init
public static void init(Context context, String userAgent)
Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。 Realm API の他の を操作する前に、このメソッドを呼び出す必要があります。適切な場所は
Application
サブクラス内にあります。public class MyApplication extends Application { \@Override public void onCreate() { super.onCreate(); Realm.init(this, "MyApp/" + BuildConfig.VERSION_NAME); } }
これを
AndroidManifest.xml
ファイルに必ず登録してください。<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.realm.example"> <application android:name=".MyApplication"> // ... </application> </manifest>
- パラメーター:
context
- アプリケーション コンテキスト。userAgent
- セッションが確立されるときに ヘッダーの一部として オブジェクト サーバーに送信される任意のユーザー定義 string。RealmUser-Agent
この設定は、同期されていない Realm では使用されません。- 次の例外がスローされます。
IllegalArgumentException
-null
コンテキストまたは userAgent が提供されている場合。IllegalStateException
-Context.getFilesDir()
が見つからなかった場合。- 以下も参照してください。
getDefaultInstance()
-
getDefaultInstance
public static Realm getDefaultInstance()
Realm の静的コンストラクターは、RealmConfiguration
によってsetDefaultConfiguration(RealmConfiguration)
によって設定された Realm インスタンスを返します。- 次の値を返します。
- Realm クラスのインスタンス。
- 次の例外がスローされます。
NullPointerException
- デフォルト構成が定義されていない場合。RealmMigrationNeededException
- デフォルト構成で移行が提供されておらず、 かつRealmFileException
- 基礎となる Realm ファイルにアクセスするときにエラーが発生した場合。 が設定されており、ダウンロードの進行中に Realm を開くスレッドが中断されました。
-
getInstance
public static Realm getInstance(RealmConfiguration configuration)
提供された Realm インスタンスを返す Realm 静的コンストラクターRealmConfiguration
- パラメーター:
configuration
- Realm を開くために使用されるRealmConfiguration
- 次の値を返します。
- Realm クラスのインスタンス
- 次の例外がスローされます。
RealmMigrationNeededException
- 構成によって移行が提供されず、RealmObject クラスまたはバージョンが変更されたため移行が必要な場合。RealmFileException
- 基礎となる Realm ファイルにアクセスするときにエラーが発生した場合。IllegalArgumentException
- nullRealmConfiguration
が提供された場合。- 以下も参照してください。
for details on how to configure a Realm.
-
getInstanceAsync
public static RealmAsyncTask getInstanceAsync(RealmConfiguration configuration, Realm.Callback callback)
プロセスでRealmConfiguration
ごとに最初の Realm インスタンスを作成するには、その時点ですべての初期化コードを実行する必要があるため、時間がかかる場合があります(Realmの設定、スキーマの検証、初期データの作成)。 このメソッドは初期化作業をバックグラウンド スレッドに配置し、初期化完了後に Realm インスタンスを呼び出し元のスレッドに非同期に配信します。- パラメーター:
configuration
- Realm を開くために使用されるRealmConfiguration
callback
- 結果を返すために呼び出されます。- 次の値を返します。
- キャンセル可能なタスクを表す
RealmAsyncTask
。 - 次の例外がスローされます。
IllegalArgumentException
- nullRealmConfiguration
または nullRealm.Callback
が提供された場合。IllegalStateException
- 以外の loader またはIntentService
スレッドから呼び出された場合。- 以下も参照してください。
for more details.
-
setDefaultConfiguration
public static void setDefaultConfiguration(RealmConfiguration configuration)
RealmConfiguration
を呼び出すときに使用されるgetDefaultInstance()
を設定します。- パラメーター:
configuration
- デフォルト構成として使用するRealmConfiguration
。- 次の例外がスローされます。
IllegalArgumentException
- nullRealmConfiguration
が提供された場合。- 以下も参照してください。
for details on how to configure a Realm.
-
getDefaultConfiguration
@Nullable public static RealmConfiguration getDefaultConfiguration()
getDefaultInstance()
のデフォルト構成を返します。- 次の値を返します。
- デフォルト構成オブジェクト、またはデフォルト構成が指定されていない場合は
null
。
-
deleteDefaultConfiguration
public static void removeDefaultConfiguration()
現在のデフォルト構成(存在する場合)を削除します。getDefaultInstance()
を使用して新しいデフォルト構成が設定されるまで、setDefaultConfiguration(RealmConfiguration)
へのそれ以降の呼び出しは失敗します。
-
createAllFromJson
public <E extends RealmModel> void createAllFromJson(Class<E> clazz, JSONArray json)
JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。不明なプロパティを持つ JSON プロパティは無視されます。 JSON オブジェクトに
RealmObject
フィールドが存在しない場合、RealmObject
フィールドにはそのタイプのデフォルト値が設定されます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
作成する Realm オブジェクトの - タイプ。json
- 各 JSON Object が指定されたクラスにマップする必要がある配列。- 次の例外がスローされます。
RealmException
- JSON からのマッピングが失敗した場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
RealmSet
,RealmDictionary
,RealmMap
-
createOrUpdateAllFromJson
public <E extends RealmModel> void createOrUpdateAllFromJson(Class<E> clazz, JSONArray json)
プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。 既存のオブジェクトが Realm で見つからなかった場合は、新しいオブジェクトが作成されます。 これは トランザクション 内で実行する必要があります。RealmObject
を更新しており、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObject
が作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールドタイプのデフォルト値が割り当てられます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
- 作成または更新するRealmObject
の タイプ。 プライマリキー が定義されている必要があります。json
- オブジェクト データを含む配列。- 次の例外がスローされます。
IllegalArgumentException
-PrimaryKey
なしでクラスを更新しようとする場合IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。RealmException
- JSON をマッピングできない場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createAllFromJson(Class, org.json.JSONArray)
,RealmSet
,RealmDictionary
,RealmMap
-
createAllFromJson
public <E extends RealmModel> void createAllFromJson(Class<E> clazz, String json)
JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。 不明なプロパティを持つ JSON プロパティは無視されます。 JSON オブジェクトにRealmObject
フィールドが存在しない場合、RealmObject
フィールドにはそのタイプのデフォルト値が設定されます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
作成する Realm オブジェクトの - タイプ。json
-JSON string各オブジェクトが指定されたクラスにマップできる としての 配列。- 次の例外がスローされます。
RealmException
- JSON からのマッピングが失敗した場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
RealmSet
,RealmDictionary
,RealmMap
-
createOrUpdateAllFromJson
public <E extends RealmModel> void createOrUpdateAllFromJson(Class<E> clazz, String json)
プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。 既存のオブジェクトが Realm で見つからなかった場合は、新しいオブジェクトが作成されます。 これは トランザクション 内で実行する必要があります。RealmObject
を更新しており、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObject
が作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールドタイプのデフォルト値が割り当てられます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
- 作成または更新するRealmObject
の タイプ。 プライマリキー が定義されている必要があります。json
- JSON オブジェクトの配列を含む string。- 次の例外がスローされます。
IllegalArgumentException
-PrimaryKey
なしでクラスを更新しようとする場合RealmException
-JSON からJSONstring 配列を作成できない場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createAllFromJson(Class, String)
,RealmSet
,RealmDictionary
,RealmMap
-
createAllFromJson
public <E extends RealmModel> void createAllFromJson(Class<E> clazz, InputStream inputStream) throws IOException
JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。 不明なプロパティを持つ JSON プロパティは無視されます。 JSON オブジェクトにRealmObject
フィールドが存在しない場合、RealmObject
フィールドにはそのタイプのデフォルト値が設定されます。この API は、API レベル 11 以降でのみ使用できます。
このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
作成された Realm オブジェクトの タイプ。inputStream
-入力ストリームとしての JSON 配列。 配列内のすべてのオブジェクトは、指定されたクラスである必要があります。- 次の例外がスローされます。
RealmException
- JSON からのマッピングが失敗した場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。IOException
- 入力ストリームで問題が発生した場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
RealmSet
,RealmDictionary
,RealmMap
-
createOrUpdateAllFromJson
public <E extends RealmModel> void createOrUpdateAllFromJson(Class<E> clazz, InputStream in)
プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。 既存のオブジェクトが Realm で見つからなかった場合は、新しいオブジェクトが作成されます。 これは トランザクション 内で実行する必要があります。RealmObject
を更新しており、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObject
が作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールドタイプのデフォルト値が割り当てられます。この API は、API レベル 11 以降でのみ使用できます。
このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
- 作成または更新するRealmObject
の タイプ。 プライマリキー が定義されている必要があります。in
- JSON 形式のオブジェクト データのリストを含む inputStream 。- 次の例外がスローされます。
IllegalArgumentException
-PrimaryKey
なしでクラスを更新しようとする場合IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。RealmException
- JSON を読み取れない場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createOrUpdateAllFromJson(Class, java.io.InputStream)
,RealmSet
,RealmDictionary
,RealmMap
-
createObjectFromJson
@Nullable public <E extends RealmModel> E createObjectFromJson(Class<E> clazz, JSONObject json)
JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。 不明なプロパティを持つ JSON プロパティは無視されます。 JSON オブジェクトにRealmObject
フィールドが存在しない場合、RealmObject
フィールドにはそのタイプのデフォルト値が設定されます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
作成する Realm オブジェクトの - タイプ。json
- オブジェクト データを持つ JSONObject。- 次の値を返します。
- はオブジェクトを作成するか、JSON データが提供されていない場合は
null
を作成します。 - 次の例外がスローされます。
RealmException
- JSON からのマッピングが失敗した場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createOrUpdateObjectFromJson(Class, org.json.JSONObject)
,RealmSet
,RealmDictionary
,RealmMap
-
createOrUpdateObjectFromJson
public <E extends RealmModel> E createOrUpdateObjectFromJson(Class<E> clazz, JSONObject json)
プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。 既存のオブジェクトが見つからない場合は、新しいオブジェクトが Realm に保存されます。 これは トランザクション 内で実行する必要があります。RealmObject
を更新しており、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObject
が作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールドタイプのデフォルト値が割り当てられます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
- 作成または更新するRealmObject
のタイプ。 プライマリキー が定義されている必要があります。json
- オブジェクト データの場合、JSONObject
。- 次の値を返します。
RealmObject
が作成または更新されました。- 次の例外がスローされます。
IllegalArgumentException
-PrimaryKey
なしでクラスを更新しようとする場合IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。RealmException
- JSON データをマッピングできない場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createObjectFromJson(Class, org.json.JSONObject)
,RealmSet
,RealmDictionary
,RealmMap
-
createObjectFromJson
@Nullable public <E extends RealmModel> E createObjectFromJson(Class<E> clazz, String json)
JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。 不明なプロパティを持つ JSON プロパティは無視されます。 JSON オブジェクトにRealmObject
フィールドが存在しない場合、RealmObject
フィールドにはそのタイプのデフォルト値が設定されます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
作成する Realm オブジェクトの - タイプ。json
- オブジェクト データを含む JSON string。- 次の値を返します。
- はオブジェクトを作成するか、JSON string が空または null の場合は
null
を作成しました。 - 次の例外がスローされます。
RealmException
- JSONへのマッピングが失敗した場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
RealmSet
,RealmDictionary
,RealmMap
-
createOrUpdateObjectFromJson
public <E extends RealmModel> E createOrUpdateObjectFromJson(Class<E> clazz, String json)
プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。 既存のオブジェクトが見つからない場合は、新しいオブジェクトが Realm に保存されます。 これは トランザクション 内で実行する必要があります。RealmObject
を更新しており、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObject
が作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールドタイプのデフォルト値が割り当てられます。このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
- 作成または更新するRealmObject
の タイプ。 プライマリキー が定義されている必要があります。json
- JSON 形式のオブジェクト データを持つ string。- 次の値を返します。
RealmObject
が作成または更新されました。- 次の例外がスローされます。
IllegalArgumentException
-PrimaryKey
なしでクラスを更新しようとする場合IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。RealmException
- JSON オブジェクトを string パラメーターからマッピングできない場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createObjectFromJson(Class, String)
,RealmSet
,RealmDictionary
,RealmMap
-
createObjectFromJson
@Nullable public <E extends RealmModel> E createObjectFromJson(Class<E> clazz, InputStream inputStream) throws IOException
JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。 不明なプロパティを持つ JSON プロパティは無視されます。 JSON オブジェクトにRealmObject
フィールドが存在しない場合、RealmObject
フィールドにはそのタイプのデフォルト値が設定されます。この API は、API レベル 11 以降でのみ使用できます。
このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
作成する Realm オブジェクトの - タイプ。inputStream
-入力ストリームとしての JSON オブジェクト データ。- 次の値を返します。
- はオブジェクトを作成するか、JSON string が空または null の場合は
null
を作成しました。 - 次の例外がスローされます。
RealmException
- JSON からのマッピングが失敗した場合。IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。IOException
- 入力ストリームで問題が発生した場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
RealmSet
,RealmDictionary
,RealmMap
-
createOrUpdateObjectFromJson
public <E extends RealmModel> E createOrUpdateObjectFromJson(Class<E> clazz, InputStream in)
プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。 既存のオブジェクトが見つからない場合は、新しいオブジェクトが Realm に保存されます。 これは トランザクション 内で実行する必要があります。RealmObject
を更新しており、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObject
が作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールドタイプのデフォルト値が割り当てられます。この API は、API レベル 11 以降でのみ使用できます。
このメソッドは現在、値リスト フィールドをサポートしていません。
- パラメーター:
clazz
- 作成または更新するRealmObject
の タイプ。 プライマリキー が定義されている必要があります。in
- JSON 形式のオブジェクト データを持つInputStream
。- 次の値を返します。
RealmObject
が作成または更新されました。- 次の例外がスローされます。
IllegalArgumentException
-PrimaryKey
なしでクラスを更新しようとする場合IllegalArgumentException
- JSON オブジェクトにプライマリキー プロパティがなく、対応するRealmObjectSchema
にPrimaryKey
が定義されている場合。RealmException
- JSON の読み取りに失敗した場合。UnsupportedOperationException
- 挿入するオブジェクトにRealmDictionary
またはRealmSet
が含まれている場合。- 以下も参照してください。
createObjectFromJson(Class, java.io.InputStream)
,RealmSet
,RealmDictionary
,RealmMap
-
createObject
public <E extends RealmModel> E createObject(Class<E> clazz)
インスタンス化して、新しいオブジェクトを Realm に追加します。This method is only available for model classes with no @PrimaryKey annotation. プライマリキーを持つオブジェクトを作成する場合は、代わりに
createObject(Class, Object)
またはcopyToRealm(RealmModel, ImportFlag...)
を使用します。- パラメーター:
clazz
- 作成するオブジェクトの クラス 。- 次の値を返します。
- 新しい オブジェクト。
- 次の例外がスローされます。
RealmException
- プライマリキーがモデル クラスで定義されている場合、またはオブジェクトを作成できない場合。- 以下も参照してください。
createObject(Class, Object)
-
createObject
public <E extends RealmModel> E createObject(Class<E> clazz, @Nullable Object primaryKeyValue)
プライマリキー値がすでに設定されている新しいオブジェクトをインスタンス化し、Realm に追加します。値がプライマリキー制約に違反する場合、オブジェクトは追加されず、
RealmException
がスローされます。 モデル クラスによって提供されるプライマリキーのデフォルト値は無視されます。- パラメーター:
clazz
- 作成するオブジェクトの クラス 。primaryKeyValue
プライマリキー フィールドの - 値。- 次の値を返します。
- 新しい オブジェクト。
- 次の例外がスローされます。
RealmException
- プライマリキーが無効であるためオブジェクトを作成できなかった場合。IllegalStateException
- モデル クラスにプライマリキーが定義されていない場合。IllegalArgumentException
- 期待値に変換できる値がprimaryKeyValue
にない場合。
-
create埋め込みオブジェクト
public <E extends RealmModel> E createEmbeddedObject(Class<E> clazz, RealmModel parentObject, String parentProperty)
インスタンス化して、新しい埋め込みオブジェクトを Realm に追加します。このメソッドは、埋め込みとしてマークされているタイプのオブジェクトを作成するためにのみ使用してください。
- パラメーター:
clazz
- 作成するオブジェクトの クラス 。\@RealmClass(embedded = true)
でマークする必要があります。parentObject
- 埋め込みオブジェクトへの参照を保持する親オブジェクト。parentProperty
- 参照を保持する親クラスの プロパティ。 親プロパティがリストの場合、埋め込みオブジェクトはそのリストの末尾に追加されます。- 次の値を返します。
- 新しく作成された埋め込みオブジェクト。
- 次の例外がスローされます。
IllegalArgumentException
-clazz
が埋め込みクラスではない場合、または親クラスのプロパティが適切な型のオブジェクトを保持できない場合。- 以下も参照してください。
RealmClass.embedded()
-
copyToRealm
public <E extends RealmModel> E copyToRealm(E object, ImportFlag... flags)
RealmObject を Realm インスタンスにコピーし、コピーを返します。 元の Realm オブジェクトへのこれ以上の変更は Realm のコピーには反映されません。 これはディープ コピーであるため、参照されたすべてのオブジェクトがコピーされます。 この Realm にすでに存在するオブジェクトは無視されます。オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 このオブジェクトと子オブジェクト内の設定されていないフィールドは、指定されない場合はデフォルト値に設定されます。
- パラメーター:
object
- Realm にコピーするRealmObject
。flags
- Realm にデータを挿入する際の動作を変更する任意のフラグ。- 次の値を返します。
- Realm によってサポートされるプロパティを持つ管理対象 Realm オブジェクト。
- 次の例外がスローされます。
IllegalArgumentException
- オブジェクトがnull
であるか、別のスレッドの Realm インスタンスに属している場合。
-
copyToRealmOrUpdate
public <E extends RealmModel> E copyToRealmOrUpdate(E object, ImportFlag... flags)
同じPrimaryKey
によって識別される既存の RealmObject を更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。 これは詳細なコピーまたはアップデートであり、参照されているすべてのオブジェクトがコピーまたはアップデートされます。オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 オブジェクトおよび子オブジェクト内の設定されていないフィールドは、指定されない場合、デフォルト値に設定されます。
- パラメーター:
object
- コピーまたはアップデートするにはRealmObject
flags
- Realm にデータを挿入する際の動作を変更する任意のフラグ。- 次の値を返します。
- すべてのプロパティが Realm によってサポートされる新しいまたはアップデートされた RealmObject。
- 次の例外がスローされます。
IllegalArgumentException
- オブジェクトがnull
であるか、プライマリキーが定義されていない場合、または別のスレッドの Realm インスタンスに属している場合。- 以下も参照してください。
copyToRealm(RealmModel, ImportFlag...)
-
copyToRealm
public <E extends RealmModel> List<E> copyToRealm(Iterable<E> objects, ImportFlag... flags)
RealmObject のコレクションを Realm インスタンスにコピーし、そのコピーを返します。 元の Realm オブジェクトへのこれ以上の変更は Realm のコピーには反映されません。 これはディープ コピーであるため、参照されているオブジェクトはすべてコピーされます。 この Realm にすでに存在するオブジェクトは無視されます。オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されない場合、デフォルト値に設定されます。
- パラメーター:
objects
- Realm にコピーする RealmObjects。flags
- Realm にデータを挿入する際の動作を変更する任意のフラグ。- 次の値を返します。
- すべてが Realm によって管理されるプロパティを持つ変換された Realm オブジェクトのリスト。
- 次の例外がスローされます。
RealmException
- オブジェクトのいずれかがすでに Realm に追加されている場合。IllegalArgumentException
- 入力コレクション内のいずれかの要素がnull
の場合。
-
insert
public void insert(Collection<? extends RealmModel> objects)
マネージドされていない RealmObjects のリストを挿入します。 これは通常、挿入された要素を返さず、最小の割り当てとチェックを実行するため、copyToRealm(Iterable, ImportFlag...)
よりも高速です。 が挿入された後は、元のオブジェクトへの変更は保持されません。注意すること:
- 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。
- 各要素に対して管理された
RealmObject
を作成することはありません(または返すこともありません) - オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます
管理された
RealmObject
を返す場合は、copyToRealm(Iterable, ImportFlag...)
を使用します。そうでない場合、オブジェクトが多数ある場合は、このメソッドは通常高速です。- パラメーター:
objects
- 挿入する RealmObjects。- 次の例外がスローされます。
IllegalStateException
- 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。
-
insert
public void insert(RealmModel object)
マネージドされていない RealmObject を挿入します。 これは通常、挿入された要素を返さず、最小の割り当てとチェックを実行するため、copyToRealm(RealmModel, ImportFlag...)
よりも高速です。 が挿入された後は、元のオブジェクトへの変更は保持されません。注意すること:
- 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。
- 各要素に対して管理された
RealmObject
を作成することはありません(または返すこともありません) - オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます
管理された
RealmObject
を返す場合は、copyToRealm(RealmModel, ImportFlag...)
を使用します。そうでない場合、オブジェクトが多数ある場合は、このメソッドは通常高速です。- パラメーター:
object
- 挿入する RealmObjects。- 次の例外がスローされます。
IllegalStateException
- 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。RealmPrimaryKeyConstraintException
- 同じプライマリキーを持つ 2 つのオブジェクトが挿入されている場合、またはプライマリキー値が Realm にすでに存在する場合。
-
insertOrUpdate
public void insertOrUpdate(Collection<? extends RealmModel> objects)
管理されていない RealmObject のリストを挿入または更新します。 これは通常、挿入された要素を返さず、最小の割り当てとチェックを実行するため、copyToRealmOrUpdate(Iterable, ImportFlag...)
よりも高速です。 が挿入された後は、元のオブジェクトへの変更は保持されません。注意すること:
- 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。
- 各要素に対して管理された
RealmObject
を作成することはありません(または返すこともありません) - オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます
管理された
RealmObject
を返す場合は、copyToRealm(Iterable, ImportFlag...)
を使用します。そうでない場合、オブジェクトが多数ある場合は、このメソッドは通常高速です。- パラメーター:
objects
- 挿入する RealmObjects。- 次の例外がスローされます。
IllegalStateException
- 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。RealmPrimaryKeyConstraintException
- 同じプライマリキーを持つ 2 つのオブジェクトが挿入されている場合、またはプライマリキー値が Realm にすでに存在する場合。
-
insertOrUpdate
public void insertOrUpdate(RealmModel object)
管理されていない RealmObject を挿入または更新します。 これは通常、挿入された要素を返さず、最小の割り当てとチェックを実行するため、copyToRealmOrUpdate(RealmModel, ImportFlag...)
よりも高速です。 が挿入された後は、元のオブジェクトへの変更は保持されません。注意すること:
- 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。
- 各要素に対して管理された
RealmObject
を作成することはありません(または返すこともありません) - オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます
管理された
RealmObject
を返す場合は、copyToRealm(RealmModel, ImportFlag...)
を使用します。そうでない場合、オブジェクトが多数ある場合は、このメソッドは通常高速です。- パラメーター:
object
- 挿入する RealmObjects。- 次の例外がスローされます。
IllegalStateException
- 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。
-
copyToRealmOrUpdate
public <E extends RealmModel> List<E> copyToRealmOrUpdate(Iterable<E> objects, ImportFlag... flags)
PrimaryKey
で識別される既存の RealmObject のリストを更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。 これは詳細なコピーまたはアップデートであり、参照されているすべてのオブジェクトがコピーまたはアップデートされます。オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されない場合、デフォルト値に設定されます。
- パラメーター:
objects
- Realm に更新またはコピーするオブジェクトのリスト。flags
- Realm にデータを挿入する際の動作を変更する任意のフラグ。- 次の値を返します。
- 新しいまたはアップデートされたすべての RealmObject のリスト。
- 次の例外がスローされます。
IllegalArgumentException
- RealmObject がnull
であるか、 または プライマリキーが定義されていない場合。- 以下も参照してください。
copyToRealm(Iterable, ImportFlag...)
-
copyFromRealm
public <E extends RealmModel> List<E> copyFromRealm(Iterable<E> realmObjects)
すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。 これは、参照されているすべてのオブジェクトをコピーするディープ コピーです。コピーされたオブジェクトはすべて Realm からデタッチされ、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。
*WARN: コピーされたオブジェクトへの変更は
copyToRealmOrUpdate(RealmModel, ImportFlag...)
を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには他のオブジェクトへの参照が含まれ、他のスレッドによる変更を上書きする可能性があります。 この動作はImportFlag
を使用して変更できます。- 型パラメータ:
E
- オブジェクトの型。- パラメーター:
realmObjects
- コピーする RealmObjects。- 次の値を返します。
- 管理対象の RealmObjects のメモリ内の個別のコピー。
- 次の例外がスローされます。
IllegalArgumentException
- RealmObject がアクセスできなくなっているか、DynamicRealmObject
である場合。- 以下も参照してください。
copyToRealmOrUpdate(Iterable, ImportFlag...)
-
copyFromRealm
public <E extends RealmModel> List<E> copyFromRealm(Iterable<E> realmObjects, int maxDepth)
すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。 これは、参照されたすべてのオブジェクトを定義された深度までコピーするディープ コピーです。コピーされたオブジェクトはすべて Realm からデタッチされ、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。
*WARN: コピーされたオブジェクトへの変更は
copyToRealmOrUpdate(Iterable, ImportFlag...)
を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには、maxDepth
に達してnull
であっても、他のオブジェクトへの参照が含まれます。 これにより、他のスレッドによる変更が上書きされる可能性もあります。 この動作はImportFlag
を使用して変更できます。- 型パラメータ:
E
- オブジェクトの型。- パラメーター:
realmObjects
- コピーする RealmObjects。maxDepth
ディープ コピーの - 制限。 この深度以降のすべての参照はnull
になります。 開始深度は0
です。- 次の値を返します。
- RealmObjects のメモリ内の個別のコピー。
- 次の例外がスローされます。
IllegalArgumentException
-maxDepth < 0
の場合、RealmObject はアクセスできなくなるか、DynamicRealmObject
になります。- 以下も参照してください。
copyToRealmOrUpdate(Iterable, ImportFlag...)
-
copyFromRealm
public <E extends RealmModel> E copyFromRealm(E realmObject)
すでに永続化されているRealmObject
の管理されていないメモリ内コピーを作成します。 これは、参照されているすべてのオブジェクトをコピーするディープ コピーです。コピーされたオブジェクトはすべて Realm からデタッチされ、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。
*WARN: コピーされたオブジェクトへの変更は
copyToRealmOrUpdate(RealmModel, ImportFlag...)
を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには他のオブジェクトへの参照が含まれ、他のスレッドによる変更を上書きする可能性があります。 この動作はImportFlag
を使用して変更できます。- 型パラメータ:
E
- オブジェクトの型。- パラメーター:
realmObject
- コピーするにはRealmObject
。- 次の値を返します。
- 管理された
RealmObject
のメモリ内分離されたコピー。 - 次の例外がスローされます。
IllegalArgumentException
- RealmObject がアクセスできなくなっているか、DynamicRealmObject
である場合。- 以下も参照してください。
copyToRealmOrUpdate(RealmModel, ImportFlag...)
-
copyFromRealm
public <E extends RealmModel> E copyFromRealm(E realmObject, int maxDepth)
すでに永続化されているRealmObject
の管理されていないメモリ内コピーを作成します。 これは、参照されたすべてのオブジェクトを定義された深度までコピーするディープ コピーです。コピーされたオブジェクトはすべて Realm からデタッチされ、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。
*WARN: コピーされたオブジェクトへの変更は
copyToRealmOrUpdate(RealmModel, ImportFlag...)
を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには、maxDepth
に達してnull
であっても、他のオブジェクトへの参照が含まれます。 これにより、他のスレッドによる変更が上書きされる可能性もあります。 この動作はImportFlag
を使用して変更できます。- 型パラメータ:
E
- オブジェクトの型。- パラメーター:
realmObject
- コピーするにはRealmObject
。maxDepth
ディープ コピーの - 制限。 この深度以降のすべての参照はnull
になります。 開始深度は0
です。- 次の値を返します。
- 管理された
RealmObject
のメモリ内分離されたコピー。 - 次の例外がスローされます。
IllegalArgumentException
-maxDepth < 0
の場合、RealmObject はアクセスできなくなるか、DynamicRealmObject
になります。- 以下も参照してください。
copyToRealmOrUpdate(RealmModel, ImportFlag...)
-
WHERE
public <E extends RealmModel> RealmQuery<E> where(Class<E> clazz)
型指定された RealmQuery を返します。これは、この型の特定のオブジェクトに対するクエリに使用できます- パラメーター:
clazz
- クエリ対象のオブジェクトのクラス。- 次の値を返します。
- 型指定された RealmQuery 。このタイプの特定のオブジェクトに対するクエリに使用できます。
- 以下も参照してください。
RealmQuery
-
addchangeLister
public void addChangeListener(RealmChangeListener<Realm> listener)
Realm に変更リスナーを追加します。このスレッドまたは別のスレッドによって変更がコミットされたときにリスナーが実行されます。
Realm instances are per thread singletons and cached, so listeners should be removed manually even if calling
Closeable.close()
. 付けない場合、メモリリークのリスクがあります。- パラメーター:
listener
- 変更リスナー。- 次の例外がスローされます。
IllegalArgumentException
- 変更リスナーがnull
の場合。IllegalStateException
- 非 loader またはIntentService
スレッドからリスナーを登録しようとする場合。- 以下も参照してください。
RealmChangeListener
,removeChangeListener(RealmChangeListener)
,removeAllChangeListeners()
-
deleteCheckLister
public void removeChangeListener(RealmChangeListener<Realm> listener)
指定された変更リスナーを削除します。- パラメーター:
listener
- 削除する変更リスナー。- 次の例外がスローされます。
IllegalArgumentException
- 変更リスナーがnull
の場合。IllegalStateException
- 非ルーパー スレッドからリスナーを削除しようとする場合。- 以下も参照してください。
RealmChangeListener
-
deleteAllTimeListers
public void removeAllChangeListeners()
ユーザー定義のすべての変更リスナーを削除します。- 次の例外がスローされます。
IllegalStateException
- 非ループ スレッドからリスナーを削除しようとする場合。- 以下も参照してください。
RealmChangeListener
-
executionTransaction
public void executeTransaction(Realm.Transaction transaction)
Realm で指定されたトランザクションを実行します。beginTransaction()
とcommitTransaction()
が自動的に呼び出されます。 トランザクション中に例外が発生した場合、 ではなくcancelTransaction()
commitTransaction()
が呼び出されます。UI スレッドからこのメソッドを呼び出すと、
RealmException
がスローされます。 フレームワークが削除されるか、 ARN が発生する可能性があります。 非 UI スレッドからこのメソッドを呼び出すか、代わりにexecuteTransactionAsync(Transaction)
を使用することを推奨します。- パラメーター:
transaction
- 実行するRealm.Transaction
。- 次の例外がスローされます。
IllegalArgumentException
-transaction
がnull
の場合。RealmMigrationNeededException
- 最新バージョンに互換性のないスキーマの変更が含まれている場合。RealmException
- UI スレッドから呼び出された場合、RealmConfiguration.Builder.allowWritesOnUiThread(boolean)
で明示的なオプトインが宣言されていない限り、
-
executionTransactionAsync
public RealmAsyncTask ExpressTransactionAsync( Realm.Transactionトランザクション)
executeTransaction(Transaction)
と同様ですが、ワーカー スレッドで非同期に実行されます。- パラメーター:
transaction
-Realm.Transaction
を実行するには- 次の値を返します。
- キャンセル可能なタスクを表す
RealmAsyncTask
。 - 次の例外がスローされます。
IllegalArgumentException
-transaction
がnull
の場合、または Realm が別のスレッドから開かれている場合。
-
executionTransactionAsync
public RealmAsyncTask executionTransactionAsync ( Realm.Transaction transaction、 Realm.Transaction.OnSuccess onSuccess)
executeTransactionAsync(Transaction)
と同様ですが、 OnSuccess コールバックも受け入れます。- パラメーター:
transaction
-Realm.Transaction
を実行するにはonSuccess
- トランザクションが成功したときに呼び出されるコールバック。- 次の値を返します。
- キャンセル可能なタスクを表す
RealmAsyncTask
。 - 次の例外がスローされます。
IllegalArgumentException
-transaction
がnull
の場合、または Realm が別のスレッドから開かれている場合。
-
executionTransactionAsync
public RealmAsyncTask executionTransactionAsync ( Realm.Transaction transaction、 Realm.Transaction.OnError onError)
executeTransactionAsync(Transaction)
と同様ですが、 OnError コールバックも受け入れます。- パラメーター:
transaction
-Realm.Transaction
を実行するにはonError
- トランザクションが失敗したときに呼び出されるコールバック。- 次の値を返します。
- キャンセル可能なタスクを表す
RealmAsyncTask
。 - 次の例外がスローされます。
IllegalArgumentException
-transaction
がnull
の場合、または Realm が別のスレッドから開かれている場合。
-
executionTransactionAsync
public RealmAsyncTask executionTransactionAsync ( Realm.Transaction transaction, @Nullable Realm.Transaction.OnSuccess onSuccess, @Nullable Realm.Transaction.OnError onError)
executeTransactionAsync(Transaction)
と同様ですが、 OnSuccess と OnError コールバックも受け入れます。- パラメーター:
transaction
-Realm.Transaction
を実行するにはonSuccess
- トランザクションが成功したときに呼び出されるコールバック。onError
- トランザクションが失敗したときに呼び出されるコールバック。- 次の値を返します。
- キャンセル可能なタスクを表す
RealmAsyncTask
。 - 次の例外がスローされます。
IllegalArgumentException
-transaction
がnull
の場合、または Realm が別のスレッドから開かれている場合。
-
削除
public void delete(Class<? extends RealmModel> clazz)
指定されたクラスのすべてのオブジェクトを Realm から削除します。- パラメーター:
clazz
- 削除するオブジェクトのクラス。- 次の例外がスローされます。
IllegalStateException
- Realm が閉じられている、または誤ったスレッドから呼び出されている場合。
-
migrateRealm
public static void migrateRealm(RealmConfiguration configuration) throws FileNotFoundException
指定された RealmConfiguration に関連付けられた移行を手動でトリガーします。 Realm がすでに最新バージョンである場合は、何も行われません。- パラメーター:
configuration
-RealmConfiguration
- 次の例外がスローされます。
FileNotFoundException
- Realm ファイルが存在しない場合。
-
migrateRealm
public static void migrateRealm(RealmConfiguration configuration, @Nullable RealmMigration migration) throws FileNotFoundException
RealmMigration で移行を手動でトリガーします。- パラメーター:
configuration
-RealmConfiguration
。migration
- Realm で実行するRealmMigration
。 これにより、 構成に設定された移行が上書きされます。- 次の例外がスローされます。
FileNotFoundException
- Realm ファイルが存在しない場合。
-
deleteRealm
public static boolean deleteRealm(RealmConfiguration configuration)
Realm ファイルおよび関連する一時ファイルとともに指定されたRealmConfiguration
によって指定された関連一時ファイルをファイルシステムから削除します。 ".lock" を持つ一時ファイル 拡張機能は削除されません。このメソッドを呼び出す前に、すべての Realm インスタンスを閉じる必要があります。
警告: 同期された Realm の場合、ユーザーが管理する Realm インスタンスがすべて閉じられても、バックグラウンド スレッド上の内部 Realm インスタンスが閉じられない可能性があります。 これにより
IllegalStateException
が返されます。 https://github.com/realm/realm-java/issues/5416 の問題を参照してください。- パラメーター:
configuration
-RealmConfiguration
。- 次の値を返します。
false
Realm ファイルを削除できなかった場合、。 一時ファイルの削除に失敗しても、戻り値には影響しません。 すべての失敗したファイル削除がログに記録されます。- 次の例外がスローされます。
IllegalStateException
- 他のスレッドまたは他のプロセスで Realm インスタンスが開かれている場合。
-
compactRealm
public static boolean compactRealm(RealmConfiguration configuration)
Realm ファイルを圧縮します。 Realm ファイルには通常、空き領域または未使用の領域が含まれます。 このメソッドは、この空き領域を削除し、ファイル サイズを縮小します。 Realm ファイル内のオブジェクトは影響を受けません。このメソッドを呼び出す前にファイルを閉じる必要があります。そうでない場合は
false
が返されます。
ファイル システムには、少なくとも Realm ファイルのコピー用の空き領域が必要です。
ファイル操作が失敗した場合、Realm ファイルは影響を受けません。- パラメーター:
configuration
- Realm ファイルを指すRealmConfiguration
。- 次の値を返します。
true
成功した場合は 、ファイル操作が失敗した場合はfalse
になります。
-
freeze
public Realm ()
現在の Realm の固定スナップショットを返します。 この Realm は、IllegalStateException
をスローすることなく、任意のスレッドから読み取りとクエリを実行できます。 固定された Realm には独自のライフサイクルがあり、Closeable.close()
を呼び出すことで閉じることができますが、固定されたコピーを生成した Realm を完全に閉じると、固定された Realm も閉じられます。凍結されたデータは通常どおりクエリできますが、そのデータを何らかの方法で変更しようとしたり、リスナーを登録しようとすると
IllegalStateException
がスローされます。注: 異なるバージョンを持つ多数の Realm を有効にすると、Realm のファイルサイズに悪影響が及ぶ可能性があります。 このような状況を回避するには、
RealmConfiguration.Builder.maxNumberOfActiveVersions(long)
を設定します。- 次の値を返します。
- この Realm の固定コピー。
-
getDefaultModule
@Nullable public static Object getDefaultModule()
デフォルトの Realm モジュールを返します。 このモジュールには、現在のプロジェクト内のすべての Realm クラスが含まれていますが、ライブラリまたはプロジェクトの依存関係からのものではありません。 これらの Realm クラスは、独自のモジュールを使用して公開する必要があります。- 次の値を返します。
- デフォルトの Realm モジュール、またはデフォルト モジュールが存在しない場合は
null
を使用します。 - 次の例外がスローされます。
RealmException
- モジュールのインスタンスを作成できない場合。- 以下も参照してください。
RealmConfiguration.Builder.modules(Object, Object...)
-
getグローバルインスタンスカウント
public static int getGlobalInstanceCount(RealmConfiguration configuration)
この構成を使用している現在のプロセス内のすべてのスレッドで開いている Realm インスタンスの現在の数を返します。 これには、動的 Realm と通常の Realm の両方が含まれます。- パラメーター:
configuration
- Realm のRealmConfiguration
。- 次の値を返します。
- すべてのスレッドで開いている Realm インスタンスの数。
-
getLocalInstanceCount
public static int getLocalInstanceCount(RealmConfiguration configuration)
このメソッドを呼び出しているスレッドで開いている Realm インスタンスの現在の数を返します。 これには、動的 Realm と通常の Realm の両方が含まれます。- パラメーター:
configuration
- Realm のRealmConfiguration
。- 次の値を返します。
- 呼び出し元スレッドで開いている Realm インスタンスの数。
-
getApplicationContext
@Nullable public static Context getApplicationContext()
init(Context)
またはinit(Context, String)
を使用して Realm を初期化するときに使用されるアプリケーション コンテキストを取得します。- 次の値を返します。
init(Context)
またはinit(Context, String)
で Realm を初期化するときに使用されるアプリケーション コンテキスト。Realm がまだ初期化されていない場合は null 。
-
setAutoRefresh
public void setAutoRefresh(boolean autoRefresh)
Realm インスタンスの自動更新ステータスを設定します。自動更新は、別のスレッドの同じファイルで動作している Realm でコミットが実行されたときに、現在の Realm インスタンスとそのすべての派生オブジェクト(RealmResults および RealmObject インスタンス)の自動更新を可能にする機能です。 この機能は、Realm インスタンスが
Looper
有効スレッドで存在する場合にのみ使用できます。- パラメーター:
autoRefresh
-true
は自動更新をオンにし、false
は自動更新をオフにします。- 次の例外がスローされます。
IllegalStateException
- 非 ルーター スレッドから呼び出された場合。
-
isAutoRefresh
公開ブール値 isAutoRefresh()
Realm インスタンスの自動更新ステータスを取得します。- 次の値を返します。
- 自動更新ステータス。
-
refresh
public void refresh()
Realm インスタンスと、それから取得されるすべての RealmResults インスタンスおよび RealmObjects インスタンスを更新します。 また、必要に応じて、Realm に関連付けられているリスナーも呼び出します。警告: 非同期クエリを使用するスレッドでこれを呼び出すと、それらのクエリは同期クエリに変わります。 つまり、Realm インスタンスを取得するために が
RealmException
RealmConfiguration.Builder.allowQueriesOnUiThread(boolean)
と併用された場合、このメソッドは をスローします。true
ほとんどの場合、このメソッドを使用するよりも、RealmChangeListener
を使用して特定のスレッド上の Realm への変更を通知する方が優れています。- 次の例外がスローされます。
IllegalStateException
- トランザクション内から更新を試みる場合。RealmException
-RealmConfiguration.Builder.allowQueriesOnUiThread(boolean)
経由でオプトアウトした後に UI スレッドから呼び出された場合
-
isInTransaction
公開ブール値 isInTransaction()
Realm が現在トランザクションを実行中かどうかを確認します。- 次の値を返します。
true
トランザクション内では、それ以外の場合はfalse
。
-
writeCopyTo
public void writeCopyTo(File destination)
Realm の圧縮されたコピーを指定された宛先ファイルに書込みます。 結果のファイルを初期データセットとして使用して、他のデバイスでローカルまたは同期された Realm をブートストラップできます。宛先ファイルがすでに存在することはできません。
これがトランザクション内から呼び出されると、最後のトランザクションがコミットされたときのデータではなく、現在のデータが書込まれることに注意してください。
- パラメーター:
destination
Realm を保存する - ファイル。- 次の例外がスローされます。
IllegalArgumentException
- 宛先引数が null の場合。RealmFileException
- 基礎となる Realm ファイルにアクセスするか、宛先ファイルに書き込むときにエラーが発生した場合。IllegalStateException
- UI スレッドから呼び出された場合。IllegalStateException
- すべてのクライアントの変更がサーバーに統合されていない場合。
-
writeEncryptedCopyTo
public void writeEncryptedCopyTo(File destination, byte[] key)
Realm の圧縮され暗号化されたコピーを指定された宛先ファイルに書込みます。 結果のファイルを初期データセットとして使用して、他のデバイスでローカルまたは同期された Realm をブートストラップできます。宛先ファイルがすでに存在することはできません。
これがトランザクション内から呼び出されると、最後のトランザクションがコミットされたときのデータではなく、現在のデータが書込まれることに注意してください。
- パラメーター:
destination
Realm を保存する - ファイル。key
- 64 バイトの暗号化のキー。- 次の例外がスローされます。
IllegalArgumentException
- 宛先引数が null の場合。RealmFileException
- 基礎となる Realm ファイルにアクセスするか、宛先ファイルに書き込むときにエラーが発生した場合。IllegalStateException
- UI スレッドから呼び出された場合。IllegalStateException
- すべてのクライアントの変更がサーバーに統合されていない場合。
-
waitForchange
@非推奨公開ブール値waitForchange ()
非推奨。このメソッドは、次のメジャー リリースで削除されます。Realm への新しい変更が利用可能になるまで、またはstopWaitForChange()
が別のスレッドから呼び出されるまで、現在のスレッドをブロックします。 stopWaitForchange が呼び出されると、このメソッドへのすべての呼び出しはすぐに false を返します。- 次の値を返します。
true
Realm が最新バージョンに更新されている場合は 、 stopWaitForchange を呼び出してキャンセルされた場合はfalse
になります。- 次の例外がスローされます。
IllegalStateException
- トランザクション内または Loader スレッドからこれを呼び出す場合。RealmMigrationNeededException
- 最新バージョンに互換性のないスキーマ変更が含まれている場合は、 とタイプ しRealm
。
-
stopWaitForchange
@Deprecated public void stopWaitForChange()
非推奨。このメソッドは次のメジャー リリースで削除されます:現在のwaitForChange()
がfalse
をすぐに返します。 これが呼び出されると、waitForchange に対するすべての呼び出しによってすぐにfalse
が返されます。このメソッドはスレッドセーフであり、 waitForchange を呼び出したスレッドとは別のスレッドから _only_ を呼び出す必要があります。
- 次の例外がスローされます。
IllegalStateException
-Realm
インスタンスがすでに閉じられている場合。
-
startTransaction
public void beginTransaction()
トランザクションを開始します。このトランザクションはBaseRealm.commitTransaction()
によって閉じられるか、BaseRealm.cancelTransaction()
によって中止される必要があります。 トランザクションは、Realm 内のオブジェクトをアトミックに作成、更新、および削除するために使用されます。トランザクションを開始する前に、Realm インスタンスは最新バージョンに更新され、他のスレッドからの変更をすべて含めます。 この更新では、登録されたtrigger
RealmChangeListener
は されません。したがって、トランザクション内から変更する必要がある項目はクエリで実行されることをお勧めします。 そうしないと、トランザクションの開始時に結果の一部が削除または変更されるリスクがあります。
// Don't do this RealmResults<Person> persons = realm.where(Person.class).findAll(); realm.beginTransaction(); persons.first().setName("John"); realm.commitTransaction(); // Do this instead realm.beginTransaction(); RealmResults<Person> persons = realm.where(Person.class).findAll(); persons.first().setName("John"); realm.commitTransaction();
注: トランザクションをネストすることはできません。 トランザクション内でトランザクションを開始すると、 の例外がスローされます。
- 次の例外がスローされます。
RealmMigrationNeededException
- 最新バージョンに互換性のないスキーマ変更が含まれている場合は、 とタイプ しRealm
。
-
commitTransaction
public void commitTransaction()
BaseRealm.beginTransaction()
以降のすべての変更はディスクに永続化し、Realm は読み取り専用に戻ります。 変更が発生したことを他のすべての Realm インスタンスに通知するために、 イベントが送信されます。 イベントが受信されると、他の Realm は、このコミットの変更を反映するようにオブジェクトとRealmResults
を更新します。
-
CancelTransaction
public void cancelTransaction()
現在の書込みトランザクションで行われたすべての書込み(作成、更新、または削除されたオブジェクト)を元に戻し、トランザクションを終了します。Realm が読み取り専用に戻ります。
トランザクションにない場合にこれを呼び出すと、例外がスローされます。
-
IsFrozen
公開ブール値 isFrozen()
この Realm が固定されているかどうかを返します。- 次の値を返します。
true
Realm が固定されている場合は 、固定されていない場合はfalse
になります。- 以下も参照してください。
freeze()
-
getNumberOfActiveVersions
public long getNumberOfActiveVersions()
この Realm によって現在保持されているアクティブなバージョンの現在の数を返します。アクティブなバージョンの数が多いと、Realm ファイルのサイズに悪影響が生じます。 詳しくは、 FAQを参照してください。
- 次の値を返します。
- Realm によって現在保持されているアクティブなバージョンの数。
- 以下も参照してください。
RealmConfiguration.Builder.maxNumberOfActiveVersions(long)
-
getPath
public string getPath()
この Realm がディスク上で保存されている場所への標準パスを返します。- 次の値を返します。
- Realm ファイルへの標準パス。
- 以下も参照してください。
File.getCanonicalPath()
-
getConfiguration
public RealmConfiguration getConfiguration()
この Realm のRealmConfiguration
を返します。- 次の値を返します。
- この Realm の
RealmConfiguration
。
-
getVersion
public long getVersion()
この Realm のスキーマ バージョンを返します。- 次の値を返します。
- この Realm をバッキングする Realm ファイルのスキーマ バージョン。
-
閉じる
public void close()
Realm インスタンスとそのすべてのリソースを閉じます。メモリ、ファイル記述子、Realm ファイルのサイズが異常に大きくならないように、終了したら Realm インスタンスを常に閉じることが重要です。
- 次のによって指定されます。
close
内 インターフェースAutoCloseable
- 次のによって指定されます。
close
内 インターフェースCloseable
- 次の例外がスローされます。
IllegalStateException
- 別のスレッドから閉じようとした場合
-
isClosed
公開ブール値 isClosed()
Realm
インスタンスがすでに閉じられているかどうかを確認します。- 次の値を返します。
true
閉じている場合はfalse
、閉じている場合は 。- 次の例外がスローされます。
IllegalStateException
- 別のスレッドから閉じようとした場合
-
getSubscriptions
public SubscriptionSet getSubscriptions()
この Realm に関連付けられているサブスクリプションセットを返します。 サブスクリプションセットは、この Realm とサーバー間で同期されるデータを定義するクエリのセットを定義します。この方法は、フレキシブルな同期を使用して同期された Realm にのみ適用されます。
- 次の値を返します。
- このRealmに関連付けられている サブスクリプションセット 。
- 次の例外がスローされます。
IllegalStateException
- この Realm がローカル Realm または部分ベースの同期済み Realm のいずれかである場合。
-
deleteAll
public void deleteAll()
この Realm からすべてのオブジェクトを削除します。- 次の例外がスローされます。
IllegalStateException
- Realm が閉じられている、または誤ったスレッドから呼び出されている場合。
-
-