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

クラス Device Realm

項目一覧

  • io.realm
  • ネストされたクラスの概要
  • メソッドの概要
  • 継承されたメソッド
  • メソッドの詳細
  • addchangeLister
  • asFlowable
  • create埋め込みオブジェクト
  • createObject
  • 削除
  • executionTransaction
  • executionTransactionAsync
  • freeze
  • getInstance
  • getInstanceAsync
  • getSchema
  • isEmpty
  • deleteAllTimeListers
  • deleteCheckLister
  • WHERE
java.lang.Object
io.realm.BaseRealm
io.realm.DynamicRealm

DescribeRealm はio.realm.Realmの動的バリアントです。 つまり、データやクエリへのすべてのアクセスは、クラス型参照ではなく、string ベースのクラス名を使用して行われます。

これは、移行中や、CSV や XML ファイルなどの文字列ベースのデータを操作する場合に便利です。

同じio.realm.RealmConfigurationを使用して、動的モードと型指定モードの両方で Realm ファイルを開くことができますが、型指定されたバージョンと動的バージョンの両方が開いているときにスキーマを変更することは非常に推奨されないため、型指定された Realm がクラッシュする可能性が高くなります。 移行中は、Device Realm のみが開きます。

動的 Realm ではスキーマまたはスキーマ バージョンは強制されず、 RealmConfiguration で定義されている場合でも RealmMigration コードは使用されません。

つまり、Realm が 型モード で開かれるまで、スキーマの作成または検証は行われません。 Realm ファイルを最初に動的モードで開くと、クラスとフィールドに関する情報は含まれないため、スキーマで定義されたクラスのクエリは失敗します。

Tip

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

  • Realm

  • RealmSchema

修飾子と型
クラスと説明
public static interface
public abstract static
修飾子と型
メソッドと説明
public void

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

public <any>

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

String className,
DynamicRealmObject parentObject,
String parentProperty
)

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

String className,
Object primaryKeyValue
)

指定されたプライマリキーを持つオブジェクトを作成します。

String className
)

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

public void
String className
)

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

public void

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

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

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

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

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

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

公開静的Realm

提供されたio.realm.RealmConfigurationによって定義された Realm インスタンスの動的バリアントを返す Realm 静的コンストラクター。

public static RealmAsyncTask

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

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

パブリックブール値

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

public void

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

public void

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

public RealmQuery
String className
)

指定されたクラスをクエリするために使用できる 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 インスタンスはスレッドごとにキャッシュされます。 そのため、排除するためには重要な注意点があります。 メモリ リークが発生する可能性があります。

パラメーター

  • 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 内

String className,
DynamicRealmObject parentObject,
String parentProperty
)

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

パラメーター

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

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

  • parentProperty - 参照を保持する親クラスの プロパティ。

戻り値

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

スロー

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

Tip

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

String className,
Object primaryKeyValue
)

指定されたプライマリキーを持つオブジェクトを作成します。 プライマリキーが定義されていないクラスは、代わりにcreateObject( string ) } を使用する必要があります。

戻り値

新しい オブジェクト。 すべてのフィールドにはそのタイプのデフォルト値が含まれます。ただし、指定された値を持つプライマリキー フィールドは除きます。

スロー

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

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

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

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

パラメーター

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

戻り値

新しい オブジェクト。

スロー

  • RealmException - オブジェクトを作成できなかった場合。

public void delete (
String className
)

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

パラメーター

  • className - すべてのオブジェクトを削除するクラス。

スロー

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

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

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

パラメーター

スロー

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

パラメーター

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

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

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

戻り値

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

スロー

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

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

パラメーター

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

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

戻り値

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

スロー

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

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

パラメーター

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

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

戻り値

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

スロー

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

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

パラメーター

戻り値

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

スロー

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

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

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

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

戻り値

この Realm の固定コピー。

の上書き

freeze クラスbaseRealm 内

public static DynamicRealm getInstance (
RealmConfiguration configuration
)

提供されたio.realm.RealmConfigurationによって定義された Realm インスタンスの動的バリアントを返す Realm 静的コンストラクター。 動的 Realm では schemaVersion とスキーマは管理されないため、Device Realm を開きても移行はtriggerされません。

戻り値

構成によって定義された 動的Realm 。

スロー

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

パラメーター

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

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

戻り値

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

スロー

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

戻り値

この Realm のRealmSchema

の上書き

getSchema クラスbaseRealm 内

public boolean isEmpty ()

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

戻り値

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

の上書き

isEmpty クラスbaseRealm 内

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

スロー

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

Tip

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

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

パラメーター

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

スロー

Tip

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

public RealmQuery where (
String className
)

指定されたクラスをクエリするために使用できる RealmQuery を返します。

パラメーター

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

戻り値

RealmQuery は、提供されたタイプの特定のオブジェクトをクエリするために使用できます。

スロー

Tip

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

戻る

DefaultCompactOnLaunchコールバック