Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

クラスRealm

項目一覧

  • io.realm
  • ネストされたクラスの概要
  • フィールドの概要
  • メソッドの概要
  • 継承されたメソッド
  • フィールドの詳細
  • DEFAULT_REALM_NAME
  • ENCRYPTION_KEY_LENGTH
  • メソッドの詳細
  • addchangeLister
  • asFlowable
  • compactRealm
  • copyFromRealm
  • copyToRealm
  • copyToRealmOrUpdate
  • createAllFromJson
  • create埋め込みオブジェクト
  • createObject
  • createObjectFromJson
  • createOrUpdateAllFromJson
  • createOrUpdateObjectFromJson
  • 削除
  • deleteRealm
  • executionTransaction
  • executionTransactionAsync
  • freeze
  • getApplicationContext
  • getDefaultConfiguration
  • getDefaultInstance
  • getDefaultModule
  • getグローバルインスタンスカウント
  • getInstance
  • getInstanceAsync
  • getLocalInstanceCount
  • getSchema
  • init
  • insert
  • insertOrUpdate
  • isEmpty
  • migrateRealm
  • deleteAllTimeListers
  • deleteCheckLister
  • deleteDefaultConfiguration
  • setDefaultConfiguration
  • WHERE
java.lang.Object
io.realm.BaseRealm
io.realm.Realm

Realm クラスは、オブジェクト永続ストアのストレージとトランザクションのマネージャーです。 RealmObjects のインスタンスの作成が担当されます。 Realm 内のオブジェクトはいつでもクエリされ、読み取ることができます。 オブジェクトの作成、変更、削除は トランザクション 内で行う必要があります。 詳しくは、 executionTransaction(Transaction)を参照してください

トランザクションにより、(複数のスレッド上の)複数の インスタンスが、完全な ACID 保証と一貫した状態で同じオブジェクトにアクセスできるようになります。

Realm インスタンスで実行する場合は、 close()メソッドを呼び出すことが重要です。 そのような操作を行わない場合、 java.lang.OutOfMemoryError が発生する可能性があります。 ネイティブ リソースは解放できません。

Realm インスタンスは異なるスレッドでは使用できません。 つまり、Realm を使用する各スレッドで インスタンスを開く必要があります。 Realm インスタンスは、参照カウントを使用してスレッドごとに自動的にキャッシュされるため、参照数が 0 にならない限り、 getInstance(RealmConfiguration)を呼び出してもキャッシュされた Realm のみが返されるため、軽量操作とみなしてください。

これは UI スレッドの場合、Realm の開き方と閉じ方は onCreate/onDestructy または onStart/onStop のいずれかで行われる必要があることを意味します。

Realm インスタンスは mongos.handler を使用してスレッド間で状態を調整します メカニズム。これは、 Android.os.Looker なしのスレッド上の 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 およびバイト フィールドをサポートします。

Tip

以下も参照してください。

修飾子と型
クラスと説明
public static interface
public abstract static
修飾子と型
フィールドと説明
public static final String
public static final int

Encryption_KEY_Length

Realm データの暗号化に使用される暗号化キーに必要な長さ。

修飾子と型
メソッドと説明
public void

Realm に変更リスナーを追加します。

public <any>

この Realm への変更を監視する RxJava フロー可能を返します。

public static boolean

Realm ファイルを圧縮します。

public E
E realmObject,
int maxDepth
)

すでに永続化されているRealmObjectの管理されていないメモリ内コピーを作成します。

public E
E realmObject
)

すでに永続化されているRealmObjectの管理されていないメモリ内コピーを作成します。

public list
java.lang.Iterable<E> realmObjects,
int maxDepth
)

すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。

public list

すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。

public list

RealmObject のコレクションを Realm インスタンスにコピーし、そのコピーを返します。

public E
E object,
)

RealmObject を Realm インスタンスにコピーし、コピーを返します。

public list

io.realm.annotations.PrimaryKey によって識別される既存のRealmObjectのリストを更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。

public E

同じio.realm.annotations.PrimaryKeyによって識別される既存の RealmObject を更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。

public void
JSONArray json
)

JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。

public E
RealmModel parentObject,
String parentProperty
)

インスタンス化して、新しい埋め込みオブジェクトを Realm に追加します。

public E
Object primaryKeyValue
)

プライマリキー値がすでに設定されている新しいオブジェクトをインスタンス化し、Realm に追加します。

public E

インスタンス化して、新しいオブジェクトを Realm に追加します。

public E
JSONObject json
)

JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。

public void

プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。

public E

プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。

public void

指定されたクラスのすべてのオブジェクトを Realm から削除します。

public static boolean

Realm ファイルと、指定されたRealmConfigurationによって指定された関連する一時ファイルをファイルシステムから削除します。

public void

Realm で指定されたトランザクションを実行します。

executionTransactionAsync(Transaction)と同様に、 OnSuccess および OnError コールバックも受け入れます。

executionTransactionAsync(Transaction)と同様ですが、 OnError コールバックも受け入れます。

executionTransactionAsync(Transaction)と同様ですが、 OnSuccess コールバックも受け入れます。

executionTransaction(Transaction)と同様ですが、ワーカー スレッド上で非同期に実行されます。

public Realm

現在の Realm の固定スナップショットを返します。

public static Context

Realm.init(Context) または Realm.init(Context,string ) を使用して を初期化するときに使用されるアプリケーションRealm コンテキストを取得します。

public static RealmConfiguration

getDefaultInstance()のデフォルト構成を返します。

public static Realm
public static Object

デフォルトの Realm モジュールを返します。

public static int

この構成を使用している現在のプロセス内のすべてのスレッドで開いている Realm インスタンスの現在の数を返します。

public static Realm

io.realm.RealmConfigurationによって定義された Realm インスタンスを返す Realm 静的コンストラクター

public static RealmAsyncTask

プロセス内のRealmConfigurationごとに最初の Realm インスタンスを作成するには、その時点ですべての初期化コードを実行する必要があるため、時間がかかる場合があります(Realm の設定、スキーマの検証、初期データの作成)。

public static int

このメソッドを呼び出しているスレッドで開いている Realm インスタンスの現在の数を返します。

この Realm のスキーマを返します。

public static synchronized void
Context context,
String userAgent
)

Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。

public static synchronized void
Context context
)

Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。

public void

マネージドされていない RealmObject を挿入します。

public void

マネージドされていない RealmObjects のリストを挿入します。

public void

管理されていない RealmObject を挿入または更新します。

public void

管理されていない RealmObject のリストを挿入または更新します。

パブリックブール値

このio.realm.Realmにオブジェクトが含まれているかどうかを確認します。

public static void

RealmMigration で移行を手動でトリガーします。

public static void

指定された RealmConfiguration に関連付けられた移行を手動でトリガーします。

public void

ユーザー定義のすべての変更リスナーを削除します。

public void

指定された変更リスナーを削除します。

public static void

現在のデフォルト構成(存在する場合)を削除します。

public static void

getDefaultInstance() を呼び出すときに使用される io.realm.RealmConfiguration を設定します。

public RealmQuery

型指定された RealmQuery を返します。これは、この型の特定のオブジェクトに対するクエリに使用できます

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

  • Methods inherited from class io.realm.BaseRealm: setAutoRefresh , isAutoRefresh , refresh , isInTransaction , addListener , removeListener , asFlowable , removeAllListeners , writeCopyTo , writeEncryptedCopyTo , waitForChange , stopWaitForChange , beginTransaction , commitTransaction , cancelTransaction , freeze , isFrozen , getNumberOfActiveVersions , checkIfValid , checkAllowQueriesOnUiThread , checkAllowWritesOnUiThread , checkIfInTransaction , checkIfValidAndInTransaction , getPath , getConfiguration , getVersion , close , isClosed , isEmpty , getSchema , getSubscriptions , deleteAll , migrateRealm , finalize

Realm データの暗号化に使用される暗号化キーに必要な長さ。

Realm に変更リスナーを追加します。このスレッドまたは別のスレッドによって変更がコミットされたときにリスナーが実行されます。

Realm インスタンスはスレッドの単一要素を使用してキャッシュされるため、 close()を呼び出す場合でも、リスナーは手動で削除する必要があります。 付けない場合、メモリリークのリスクがあります。

パラメーター

  • listener - 変更リスナー。

スロー

public <any> asFlowable ()

この Realm への変更を監視する RxJava フロー可能を返します。 にサブスクライブすると、現在の状態が発行されます。 Realm が更新されるにつれてアイテムは継続的に出力されます。 onCompleteは呼び出されません。

Realm フロー可能な から出力されたアイテムは固定されます( Releases ()を参照してください。 つまり、これらは不変で、どのスレッドでも読み取ることができます。

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は呼び出されません。

の上書き

asFlowable クラスbaseRealm 内

public static boolean compactRealm (
RealmConfiguration configuration
)

Realm ファイルを圧縮します。 Realm ファイルには通常、空き領域または未使用の領域が含まれます。 このメソッドは、この空き領域を削除し、ファイル サイズを縮小します。 Realm ファイル内のオブジェクトは変更されません。このメソッドを呼び出す前にファイルを閉じる必要があります。そうでない場合はfalseが返されます。

The file system should have free space for at least a copy of the Realm file.
The Realm file is left untouched if any file operation fails.

パラメーター

戻り値

true 成功した場合は 、ファイル操作が失敗した場合はfalseになります。

public E copyFromRealm <E >(
E realmObject,
int maxDepth
)

すでに永続化されているRealmObjectの管理されていないメモリ内コピーを作成します。 これは、参照されたすべてのオブジェクトを定義された深度までコピーするディープ コピーです。

コピーされたオブジェクトはすべて Realm からデタッチされ、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。

*WARNING*: コピーされたオブジェクトに対する変更は、 copyTomOrUpdate(RealmModel, ImportFlag...)を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには、 maxDepthに達してnullであっても、他のオブジェクトへの参照が含まれます。 これにより、他のスレッドによる変更が上書きされる可能性もあります。 この動作は、 ImportFlagを使用して変更できます。

型パラメータ

  • E - オブジェクトの型。

パラメーター

  • realmObject - コピーするRealmObject

  • maxDepth ディープ コピーの - 制限。 この深度以降のすべての参照はnullになります。 開始深度は0です。

戻り値

管理されたRealmObjectのメモリ内の分離されたコピー。

スロー

Tip

以下も参照してください。

public E copyFromRealm <E >(
E realmObject
)

すでに永続化されているRealmObjectの管理されていないメモリ内コピーを作成します。 これは、参照されているすべてのオブジェクトをコピーするディープ コピーです。

コピーされたオブジェクトはすべて Realm からデタッチされ、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。

*WARNING*: コピーされたオブジェクトに対する変更は、 copyTomOrUpdate(RealmModel, ImportFlag...)を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには他のオブジェクトへの参照が含まれ、他のスレッドによる変更を上書きする可能性があります。 この動作は、 ImportFlagを使用して変更できます。

型パラメータ

  • E - オブジェクトの型。

パラメーター

戻り値

管理されたRealmObjectのメモリ内の分離されたコピー。

スロー

Tip

以下も参照してください。

public List copyFromRealm <E >(
java.lang.Iterable<E> realmObjects,
int maxDepth
)

すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。 これは、参照されたすべてのオブジェクトを定義された深度までコピーするディープ コピーです。コピーされたオブジェクトはすべて Realm から分離され、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。

*WARNING*: コピーされたオブジェクトに対する変更は、 copyTomOrUpdate(Iterable, ImportFlag...)を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには、 maxDepthに達してnullであっても、他のオブジェクトへの参照が含まれます。 これにより、他のスレッドによる変更が上書きされる可能性もあります。 この動作は、 ImportFlagを使用して変更できます。

型パラメータ

  • E - オブジェクトの型。

パラメーター

  • realmObjects - コピーする RealmObjects。

  • maxDepth ディープ コピーの - 制限。 この深度以降のすべての参照はnullになります。 開始深度は0です。

戻り値

RealmObjects のメモリ内の個別のコピー。

スロー

Tip

以下も参照してください。

public List copyFromRealm <E >(
)

すでに永続化されている RealmObjects の管理対象外メモリ内コピーを作成します。 これは、参照されているすべてのオブジェクトをコピーするディープ コピーです。コピーされたオブジェクトはすべて Realm から分離され、自動的に更新されなくなります。 つまり、コピーされたオブジェクトには、他の管理対象 Realm オブジェクトと整合性がなくなったデータが含まれる可能性があります。

*WARNING*: コピーされたオブジェクトに対する変更は、 copyTomOrUpdate(RealmModel, ImportFlag...)を使用して Realm にマージできますが、変更されたフィールドだけでなく、すべてのフィールドが上書きされます。 これには他のオブジェクトへの参照が含まれ、他のスレッドによる変更を上書きする可能性があります。 この動作は、 ImportFlagを使用して変更できます。

型パラメータ

  • E - オブジェクトの型。

パラメーター

  • realmObjects - コピーする RealmObjects。

戻り値

管理対象の RealmObjects のメモリ内の個別のコピー。

スロー

Tip

以下も参照してください。

RealmObject のコレクションを Realm インスタンスにコピーし、そのコピーを返します。 元の Realm オブジェクトへのこれ以上の変更は Realm のコピーには反映されません。 これはディープ コピーであるため、参照されているオブジェクトはすべてコピーされます。 この Realm にすでに存在するオブジェクトは無視されます。オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されない場合、デフォルト値に設定されます。

パラメーター

  • objects - Realm にコピーする RealmObjects。

  • flags - Realm にデータを挿入する際の動作を変更する任意のフラグ。

戻り値

すべてが Realm によって管理されるプロパティを持つ変換された Realm オブジェクトのリスト。

スロー

public E copyToRealm <E >(
E object,
)

RealmObject を Realm インスタンスにコピーし、コピーを返します。 元の Realm オブジェクトへのこれ以上の変更は Realm のコピーには反映されません。 これはディープ コピーであるため、参照されたすべてのオブジェクトがコピーされます。 この Realm にすでに存在するオブジェクトは無視されます。オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 このオブジェクトと子オブジェクト内の設定されていないフィールドは、指定されない場合はデフォルト値に設定されます。

パラメーター

  • object - Realm にコピーするio.realm.RealmObject

  • flags - Realm にデータを挿入する際の動作を変更する任意のフラグ。

戻り値

Realm によってサポートされるプロパティを持つ管理対象 Realm オブジェクト。

スロー

io.realm.annotations.PrimaryKey によって識別される既存のRealmObjectのリストを更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。 これは詳細なコピーまたはアップデートであり、参照されているすべてのオブジェクトがコピーまたはアップデートされます。

オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されない場合、デフォルト値に設定されます。

パラメーター

  • objects - Realm に更新またはコピーするオブジェクトのリスト。

  • flags - Realm にデータを挿入する際の動作を変更する任意のフラグ。

戻り値

新しいまたはアップデートされたすべての RealmObject のリスト。

スロー

Tip

以下も参照してください。

public E copyToRealmOrUpdate <E >(
E object,
)

同じio.realm.annotations.PrimaryKeyによって識別される既存の RealmObject を更新するか、既存のオブジェクトが見つからない場合は新しいコピーを作成します。 これは詳細なコピーまたはアップデートであり、参照されているすべてのオブジェクトがコピーまたはアップデートされます。

オブジェクトをコピーすると、すべてのフィールド値がコピーされることに注意してください。 オブジェクトおよび子オブジェクト内の設定されていないフィールドは、指定されない場合、デフォルト値に設定されます。

パラメーター

  • object - コピーまたはアップデートするio.realm.RealmObject

  • flags - Realm にデータを挿入する際の動作を変更する任意のフラグ。

戻り値

すべてのプロパティが Realm によってサポートされる新しいまたはアップデートされた RealmObject。

スロー

  • java.lang.IllgealArgmentException - オブジェクトがnull であるか、プライマリキーが定義されていない場合、または別のスレッドの Realm インスタンスに属している場合。

Tip

以下も参照してください。

public void createAllFromJson <E >(
JSONArray json
)

JSON 配列内の各オブジェクトに対して Realm オブジェクトを作成します。 これはトランザクション内で実行する必要があります。不明なプロパティを持つ JSON プロパティは無視されます。 RealmObject フィールドが JSON オブジェクトに存在しない場合、 RealmObject フィールドはそのタイプのデフォルト値に設定されます。

このメソッドは現在、値リスト フィールドをサポートしていません。

パラメーター

  • clazz 作成する Realm オブジェクトの - タイプ。

  • json - 各 JSON Object が指定されたクラスにマップする必要がある配列。

スロー

Tip

以下も参照してください。

public E createEmbeddedObject <E >(
RealmModel parentObject,
String parentProperty
)

インスタンス化され、Realm に新しい埋め込みオブジェクトが追加されます。このメソッドは、埋め込みとしてマークされているタイプのオブジェクトを作成するためにのみ使用してください。

パラメーター

  • clazz - 作成するオブジェクトの クラス 。 @RealmClass(embedded = true)でマークする必要があります。

  • parentObject - 埋め込みオブジェクトへの参照を保持する親オブジェクト。

  • parentProperty - 参照を保持する親クラスの プロパティ。 親プロパティがリストの場合、埋め込みオブジェクトはそのリストの末尾に追加されます。

戻り値

新しく作成された埋め込みオブジェクト。

スロー

  • IllialArgmentException -clazz が埋め込みクラスではない場合、または親クラスのプロパティが適切な型のオブジェクトを保持できない場合。

Tip

以下も参照してください。

public E createObject <E >(
Object primaryKeyValue
)

プライマリキー値がすでに設定されている新しいオブジェクトをインスタンス化して、Realm に追加します。値がプライマリキー制約に違反する場合は、オブジェクトは追加されず、 RealmExceptionがスローされます。 モデル クラスによって提供されるプライマリキーのデフォルト値は無視されます。

パラメーター

  • clazz - 作成するオブジェクトの クラス 。

  • primaryKeyValue プライマリキー フィールドの - 値。

戻り値

新しい オブジェクト。

スロー

  • RealmException - プライマリキーが無効であるためオブジェクトを作成できなかった場合。

  • IllalStateException - モデル クラスにプライマリキーが定義されていない場合。

  • IllialArgmentException -primaryKeyValue に期待値に変換できる値がない場合。

public E createObject <E >(
)

インスタンス化して、新しいオブジェクトを Realm に追加します。このメソッドは、 @PrimaryKey 注釈がないモデル クラスでのみ使用できます。 プライマリキーを持つオブジェクトを作成する場合は、代わりにcreateObject(Class, Object)またはcopyToRealm(RealmModel, ImportFlag...)を使用します。

パラメーター

  • clazz - 作成するオブジェクトの クラス 。

戻り値

新しい オブジェクト。

スロー

  • RealmException - プライマリキーがモデル クラスで定義されている場合、またはオブジェクトを作成できない場合。

Tip

以下も参照してください。

public E createObjectFromJson <E >(
JSONObject json
)

JSON オブジェクトのデータが事前入力された Realm オブジェクトを作成します。 これは トランザクション 内で実行する必要があります。 不明なプロパティを持つ JSON プロパティは無視されます。 RealmObject フィールドが JSON オブジェクトに存在しない場合、 RealmObject フィールドはそのタイプのデフォルト値に設定されます。

このメソッドは現在、値リスト フィールドをサポートしていません。

パラメーター

  • clazz 作成する Realm オブジェクトの - タイプ。

  • json - オブジェクト データを持つ JSONObject。

戻り値

はオブジェクトを作成するか、JSON データが提供されていない場合はnullを作成します。

スロー

Tip

以下も参照してください。

public void createOrUpdateAllFromJson <E >(
JSONArray json
)

プライマリキーで識別される既存のオブジェクトのリストを新しい JSON データで更新しようとします。 既存のオブジェクトが Realm で見つからなかった場合は、新しいオブジェクトが作成されます。 これは トランザクション 内で実行する必要があります。 RealmObjectを更新し、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObjectが作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールド型のデフォルト値が割り当てられます。

このメソッドは現在、値リスト フィールドをサポートしていません。

パラメーター

  • clazz 作成または更新するio.realm.RealmObjectの - タイプ。 プライマリキー が定義されている必要があります。

  • json - オブジェクト データを含む配列。

スロー

Tip

以下も参照してください。

JSONObject json
)

プライマリキーで定義された既存のオブジェクトを新しい JSON データで更新しようとします。 既存のオブジェクトが見つからない場合は、新しいオブジェクトが Realm に保存されます。 これは トランザクション 内で実行する必要があります。 RealmObjectを更新し、JSON オブジェクトにフィールドが見つからない場合、そのフィールドは更新されません。 新しいRealmObjectが作成され、JSON オブジェクトにフィールドが見つからない場合は、そのフィールドに フィールド型のデフォルト値が割り当てられます。

このメソッドは現在、値リスト フィールドをサポートしていません。

パラメーター

  • clazz - 作成または更新するio.realm.RealmObjectのタイプ。 プライマリキー が定義されている必要があります。

  • json - オブジェクト データを持つorg.json.JSONObject

戻り値

io.realm.RealmObjectが作成または更新された

スロー

Tip

以下も参照してください。

指定されたクラスのすべてのオブジェクトを Realm から削除します。

パラメーター

  • clazz - 削除するオブジェクトのクラス。

スロー

  • IllalStateException - Realm が閉じられている、または誤ったスレッドから呼び出されている場合。

public static boolean deleteRealm (
RealmConfiguration configuration
)

Realm ファイルと、指定されたRealmConfigurationによって指定された関連する一時ファイルをファイルシステムから削除します。 ".lock" を持つ一時ファイル 拡張機能は削除されません。

このメソッドを呼び出す前に、すべての Realm インスタンスを閉じる必要があります。

警告: 同期された Realm の場合、ユーザーが管理する Realm インスタンスがすべて閉じられても、バックグラウンド スレッド上の内部 Realm インスタンスが閉じられない可能性があります。 これによりIllegalStateExceptionが返されます。 https://github.com/realm/realm-java/issues/ の5416 問題を参照 。

パラメーター

戻り値

false Realm ファイルを削除できなかった場合、。 一時ファイルの削除に失敗しても、戻り値には影響しません。 すべての失敗したファイル削除がログに記録されます。

スロー

  • IllalStateException - 他のスレッドまたは他のプロセスで Realm インスタンスが開かれている場合。

public void executeTransaction (
Realm.Transaction transaction
)

Realm で指定されたトランザクションを実行します。 startTransaction( )commitTransaction()は自動的に呼び出されます。 トランザクション中に例外が発生した場合、 commitTransaction( ) ではなく、 CancelTransaction()が呼び出されます。

UI スレッドからこのメソッドを呼び出すと、 RealmExceptionがスローされます。 フレームワークが削除されるか、 ARN が発生する可能性があります。 このメソッドは 非 UI スレッドから呼び出すか、 executionTransactionAsync(Transaction)を使用することをお勧めします。

パラメーター

スロー

executionTransactionAsync(Transaction)と同様に、 OnSuccess および OnError コールバックも受け入れます。

パラメーター

  • transaction - io.realm.Realm.Transactionを実行します。

  • onSuccess - トランザクションが成功したときに呼び出されるコールバック。

  • onError - トランザクションが失敗したときに呼び出されるコールバック。

戻り値

キャンセル可能なタスクを表すRealmAsyncTask

スロー

  • IllialArgmentException - がtransaction nullの場合、または Realm が別のスレッドから開かれている場合。

executionTransactionAsync(Transaction)と同様ですが、 OnError コールバックも受け入れます。

パラメーター

  • transaction - io.realm.Realm.Transactionを実行します。

  • onError - トランザクションが失敗したときに呼び出されるコールバック。

戻り値

キャンセル可能なタスクを表すRealmAsyncTask

スロー

  • IllialArgmentException - がtransaction nullの場合、または Realm が別のスレッドから開かれている場合。

executionTransactionAsync(Transaction)と同様ですが、 OnSuccess コールバックも受け入れます。

パラメーター

  • transaction - io.realm.Realm.Transactionを実行します。

  • onSuccess - トランザクションが成功したときに呼び出されるコールバック。

戻り値

キャンセル可能なタスクを表すRealmAsyncTask

スロー

  • IllialArgmentException - がtransaction nullの場合、または Realm が別のスレッドから開かれている場合。

executionTransaction(Transaction)と同様ですが、ワーカー スレッド上で非同期に実行されます。

パラメーター

戻り値

キャンセル可能なタスクを表すRealmAsyncTask

スロー

  • IllialArgmentException - がtransaction nullの場合、または Realm が別のスレッドから開かれている場合。

public Realm freeze ()

現在の Realm の固定スナップショットを返します。 この Realm は、 IllialStateException をスローすることなく、任意のスレッドから読み取りとクエリを実行できます 。固定された Realm には独自のライフサイクルがあり、 close()を呼び出すことで閉じることができますが、固定されたコピーを生成した Realm を完全に閉じると、固定された Realm も閉じられます。

凍結されたデータは通常どおりクエリできますが、そのデータを何らかの方法で変更しようとしたり、リスナーを登録しようとすると、 IllealStateException がスローされます 。

注: 異なるバージョンを持つ多数の Realm を有効にすると、Realm のファイルサイズに悪影響が及ぶ可能性があります。 このような状況を回避するには、 RealmConfiguration.Builder.maxNumberOfActiveVersions(long)を設定できます。

戻り値

この Realm の固定コピー。

の上書き

freeze クラスbaseRealm 内

public static Context getApplicationContext ()

Realm.init(Context) または Realm.init(Context,string ) を使用して を初期化するときに使用されるアプリケーションRealm コンテキストを取得します。

戻り値

RealmRealm.init(Context) またはRealm .init(Context,string ) でRealm を初期化するときに使用されるアプリケーション コンテキスト がまだ初期化されていない場合は null 。

getDefaultInstance()のデフォルト構成を返します。

戻り値

デフォルト構成オブジェクト、またはデフォルト構成が指定されていない場合はnull

public static Realm getDefaultInstance ()

setDefaultConfiguration(RealmConfiguration) によって設定された io.realm.RealmConfiguration によって定義された Realm インスタンスを返す Realm 静的コンストラクター

戻り値

Realm クラスのインスタンス。

スロー

  • java.lang.NullPointerException - デフォルト構成が定義されていない場合。

  • RealmMigrationNetedException - デフォルト構成で移行が提供されておらず、

  • RealmFileException - 基礎となる Realm ファイルにアクセスするときにエラーが発生した場合。 が設定されており、ダウンロードの進行中に Realm を開くスレッドが中断されました。

public static Object getDefaultModule ()

デフォルトの Realm モジュールを返します。 このモジュールには、現在のプロジェクト内のすべての Realm クラスが含まれていますが、ライブラリまたはプロジェクトの依存関係からのものではありません。 これらの Realm クラスは、独自のモジュールを使用して公開する必要があります。

戻り値

デフォルトの Realm モジュール、またはデフォルト モジュールが存在しない場合はnullを使用します。

スロー

  • RealmException - モジュールのインスタンスを作成できない場合。

public static int getGlobalInstanceCount (
RealmConfiguration configuration
)

この構成を使用している現在のプロセス内のすべてのスレッドで開いている Realm インスタンスの現在の数を返します。 これには、動的 Realm と通常の Realm の両方が含まれます。

パラメーター

戻り値

すべてのスレッドで開いている Realm インスタンスの数。

public static Realm getInstance (
RealmConfiguration configuration
)

io.realm.RealmConfigurationによって定義された Realm インスタンスを返す Realm 静的コンストラクター

パラメーター

戻り値

Realm クラスのインスタンス

スロー

RealmConfiguration configuration,
)

プロセス内のRealmConfigurationごとに最初の Realm インスタンスを作成するには、その時点ですべての初期化コードを実行する必要があるため、時間がかかる場合があります(Realm の設定、スキーマの検証、初期データの作成)。 このメソッドは初期化作業をバックグラウンド スレッドに配置し、初期化完了後に Realm インスタンスを呼び出し元のスレッドに非同期に配信します。

パラメーター

  • configuration - Realm を開くために使用されるRealmConfiguration

  • callback - 結果を返すために呼び出されます。

戻り値

キャンセル可能なタスクを表すRealmAsyncTask

スロー

public static int getLocalInstanceCount (
RealmConfiguration configuration
)

このメソッドを呼び出しているスレッドで開いている Realm インスタンスの現在の数を返します。 これには、動的 Realm と通常の Realm の両方が含まれます。

パラメーター

戻り値

呼び出し元スレッドで開いている Realm インスタンスの数。

この Realm のスキーマを返します。 スキーマは不変です。 これを変更しようとすると UnsupportedOperationException が発生します 。

スキーマはDBRefのみを使用して変更できます。 または 移行を通じて接続します。

戻り値

この Realm のRealmSchema

の上書き

getSchema クラスbaseRealm 内

public static synchronized void init (
Context context,
String userAgent
)

Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。 Realm API の他の Realm API の と対話する前に、このメソッドを呼び出す必要があります。適した場所は mongostat のアプリケーションにあります。 サブクラス:

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 では使用されません。

スロー

Tip

以下も参照してください。

public static synchronized void init (
Context context
)

Realm ライブラリを初期化し、すぐに使用できるデフォルト構成を作成します。 Realm API の他の Realm API の と対話する前に、このメソッドを呼び出す必要があります。適した場所は mongostat のアプリケーションにあります。 サブクラス:

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 - アプリケーション コンテキスト。

スロー

Tip

以下も参照してください。

public void insert (
RealmModel object
)

マネージドされていない RealmObject を挿入します。 これは通常、 copyToRealm(RealmModel, ImportFlag...)よりも高速です。挿入された要素は返されず、最小の割り当てとチェックが実行されるためです。 が挿入された後は、元のオブジェクトへの変更は保持されません。

注意すること:

  • 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。

  • 各要素に対して管理されたRealmObjectを作成しません(または返すこともありません)

  • オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます

管理対象のRealmObjectを返すには、 copyToRealm(RealmModel, ImportFlag...)を使用します。それ以外の場合、オブジェクト数が多い場合は、このメソッドの方が高速です。

パラメーター

  • object - 挿入する RealmObjects。

スロー

  • IllalStateException - 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。

  • io.realm.例外.RealmPrimaryKeyConstorageException - 同じプライマリキーを持つ 2 つのオブジェクトが挿入されている場合、またはプライマリキー値が Realm に既に存在する場合。

マネージドされていない RealmObjects のリストを挿入します。 これは通常、 copyToRealm(Iterable, ImportFlag...)よりも高速です。挿入された要素を返さず、最小の割り当てとチェックを実行するためです。 が挿入された後は、元のオブジェクトへの変更は保持されません。

注意すること:

  • 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。

  • 各要素に対して管理されたRealmObjectを作成しません(または返すこともありません)

  • オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます

管理対象のRealmObjectを返すには、 copyToRealm(Iterable, ImportFlag...)を使用します。それ以外の場合、オブジェクト数が多い場合は、このメソッドの方が高速です。

パラメーター

  • objects - 挿入する RealmObjects。

スロー

  • IllalStateException - 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。

public void insertOrUpdate (
RealmModel object
)

管理されていない RealmObject を挿入または更新します。 これは通常、 copyToRealmOrUpdate(RealmModel, ImportFlag...)よりも高速です。挿入された要素は返されず、最小の割り当てとチェックが実行されるためです。 が挿入された後は、元のオブジェクトへの変更は保持されません。

注意すること:

  • 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。

  • 各要素に対して管理されたRealmObjectを作成しません(または返すこともありません)

  • オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます

管理対象のRealmObjectを返すには、 copyToRealm(RealmModel, ImportFlag...)を使用します。それ以外の場合、オブジェクト数が多い場合は、このメソッドの方が高速です。

パラメーター

  • object - 挿入する RealmObjects。

スロー

  • IllalStateException - 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。

管理されていない RealmObject のリストを挿入または更新します。 これは通常、 copyToRealmOrUpdate(Iterable, ImportFlag...)よりも高速です。挿入された要素は返されず、最小の割り当てとチェックが実行されるためです。 が挿入された後は、元のオブジェクトへの変更は保持されません。

注意すること:

  • 提供されたオブジェクトがすでに管理されているかどうかは確認されないため、管理されているオブジェクトを挿入すると重複する可能性があります。 重複は、オブジェクトにプライマリキーがない場合にのみ発生します。 プライマリキーを持つオブジェクトは重複しません。

  • 各要素に対して管理されたRealmObjectを作成しません(または返すこともありません)

  • オブジェクトをコピーすると、すべてのフィールド値がコピーされます。 オブジェクトと子オブジェクト内の設定されていないフィールドは、指定されていない場合はデフォルト値に設定されます

管理対象のRealmObjectを返すには、 copyToRealm(Iterable, ImportFlag...)を使用します。それ以外の場合、オブジェクト数が多い場合は、このメソッドの方が高速です。

パラメーター

  • objects - 挿入する RealmObjects。

スロー

  • IllalStateException - 対応する Realm が閉じている場合、誤ったスレッドから、またはトランザクションにない場合に呼び出されます。

  • io.realm.例外.RealmPrimaryKeyConstorageException - 同じプライマリキーを持つ 2 つのオブジェクトが挿入されている場合、またはプライマリキー値が Realm に既に存在する場合。

public boolean isEmpty ()

このio.realm.Realmにオブジェクトが含まれているかどうかを確認します。

戻り値

true 空の場合は @{code false} を します。

の上書き

isEmpty クラスbaseRealm 内

public static void migrateRealm (
RealmConfiguration configuration,
RealmMigration migration
)

RealmMigration で移行を手動でトリガーします。

パラメーター

  • configuration - the:ref: RealmConfiguration <io_realm_RealmConfiguration>

  • migration - Realm で実行するRealmMigration 。 これにより、 構成に設定された移行が上書きされます。

スロー

public static void migrateRealm (
RealmConfiguration configuration
)

指定された RealmConfiguration に関連付けられた移行を手動でトリガーします。 Realm がすでに最新バージョンである場合は、何も行われません。

パラメーター

スロー

ユーザー定義のすべての変更リスナーを削除します。

スロー

  • IllalStateException - 非ループ スレッドからリスナーを削除しようとする場合。

Tip

以下も参照してください。

指定された変更リスナーを削除します。

パラメーター

  • listener - 削除する変更リスナー。

スロー

Tip

以下も参照してください。

public static void removeDefaultConfiguration ()

現在のデフォルト構成(存在する場合)を削除します。 setDefaultConfiguration(RealmConfiguration) を使用して新しいデフォルト構成が設定されるまで、それ以降の getDefaultInstance() への呼び出しは失敗します。
public static void setDefaultConfiguration (
RealmConfiguration configuration
)

getDefaultInstance() を呼び出すときに使用される io.realm.RealmConfiguration を設定します。

パラメーター

スロー

型指定された RealmQuery を返します。これは、この型の特定のオブジェクトに対するクエリに使用できます

パラメーター

  • clazz - クエリ対象のオブジェクトのクラス。

戻り値

型指定された RealmQuery 。このタイプの特定のオブジェクトに対するクエリに使用できます。

Tip

以下も参照してください。

戻る

ProxyState