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

クラス RealmResults

項目一覧

  • io.realm
  • メソッドの概要
  • 継承されたメソッド
  • メソッドの詳細
  • addchangeLister
  • as変更セットObservable
  • asFlowable
  • asJSON
  • freeze
  • IsFrozen
  • isLoaded
  • 負荷
  • deleteAllTimeListers
  • deleteCheckLister
  • setBlob
  • setブール値
  • setByte
  • setDate
  • setDecimal128
  • setDouble
  • setFloat
  • setInt
  • setList
  • setLong
  • setNull
  • setObject
  • setObjectId
  • set短い
  • setString
  • setUUID
  • setValue
  • sort
  • WHERE
java.lang.Object
io.realm.OrderedRealmCollectionImpl
io.realm.RealmResults

このクラスは、特定の Realm に対するRealmQueryの一致をすべて保持します。 オブジェクトは Realm から RealmResults リストにコピーされることはなく、代わりに RealmResult からのみ参照されます。 メモリが節約され、速度が向上します。

RealmResult はライブビューです。つまり、ルーパースレッド上では、トランザクションがコミットされた後にクエリ結果が自動的に更新されます。 非ルーパー スレッドでは、結果をアップデートするためにRealm.refresh()を呼び出す必要があります。

RealmResults リストから RealmObjects へのアップデートはトランザクション内から実行される必要があり、変更されたオブジェクトはトランザクションのコミット時に Realm ファイルに永続化されます。

RealmResults オブジェクトは、異なるスレッド間で渡すことはできません。

RealmResults は、オブジェクトが含まれていない場合でも、 nullではないことに注意してください。 常にRealmResults.size()の メソッドを使用して、RealmResults が空かどうかを確認します。

RealmResults がRealmList.where()を通じて RealmList に構築されている場合 、ソース RealmList が削除されると空になります。

RealmResultにはInteger.MAX_VALUEを超える要素を含めることができます。 その場合、アクセスできるのは最初のInteger.MAX_VALUE要素のみです。

Tip

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

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

このRealmResultsに変更リスナーを追加します。

public <any>

この RealmResults への変更を監視する Rx Observable を返します。

public <any>

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

public string

RealmQueryの一致の JSON 表現を返します。

パブリックブール値
パブリックブール値

結果がまだ読み込まれていない場合はfalseを返し、結果が読み込まれている場合はtrueを返します。

パブリックブール値
load ()

非同期クエリをブロック化します。

public void

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

public void

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

public void

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

public void
String fieldName,
byte[] value
)

コレクション内のすべてのオブジェクトの指定されたフィールドのバイナリ値を設定します。

public void
String fieldName,
boolean value
)

コレクション内のすべてのオブジェクトの特定のフィールドのboolean値を設定します。

public void
String fieldName,
byte value
)

コレクション内のすべてのオブジェクトの特定のフィールドのbyte値を設定します。

public void
String fieldName,
Date value
)

コレクション内のすべてのオブジェクトの特定のフィールドのDate値を設定します。

public void
String fieldName,
Decimal128 value
)

コレクション内のすべてのオブジェクトの特定のフィールドのDecimal128値を設定します。

public void
String fieldName,
double value
)

コレクション内のすべてのオブジェクトの特定のフィールドのdouble値を設定します。

public void
String fieldName,
float value
)

コレクション内のすべてのオブジェクトの特定のフィールドのfloat値を設定します。

public void
String fieldName,
int value
)

コレクション内のすべてのオブジェクトの特定のフィールドのint値を設定します。

public void
setList <T >(
)

このコレクション内のすべてのオブジェクトの指定されたフィールドの RealmList を置き換えます。

public void
String fieldName,
long value
)

コレクション内のすべてのオブジェクトの特定のフィールドのlong値を設定します。

public void
String fieldName
)

コレクション内のすべてのオブジェクトの指定されたフィールドの値をnullに設定します。

public void
String fieldName,
)

コレクション内のすべてのオブジェクト内の指定されたフィールドに別のオブジェクトへの参照を設定します。

public void
String fieldName,
ObjectId value
)

コレクション内のすべてのオブジェクトの特定のフィールドのObjectId値を設定します。

public void
String fieldName,
short value
)

コレクション内のすべてのオブジェクトの特定のフィールドのshort値を設定します。

public void
String fieldName,
String value
)

コレクション内のすべてのオブジェクトの特定のフィールドのString値を設定します。

public void
String fieldName,
UUID value
)

コレクション内のすべてのオブジェクトの特定のフィールドのUUID値を設定します。

public void
String fieldName,
Object value
)

クエリ結果内のすべてのオブジェクトのfieldNameによって指定されたフィールドを更新します。

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

指定されたフィールドとソート順序に基づいてコレクションをソートします。

public RealmQuery

このコレクションの特定のオブジェクトに対するクエリに使用できるRealmQueryを返します。

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

  • クラス java.uty.AbstructCollection から継承されたメソッド :iteratorsizeisEmptycontainstoArraytoArrayaddremovecontainsAlladdAllremoveAllretainAllcleartoString

  • クラス java.uty .抽象リストから継承されたメソッド :addgetsetaddremoveindexOflastIndexOfclearaddAlliteratorlistIteratorlistIteratorsubListequalshashCoderemoveRange

  • Methods inherited from class io.realm.OrderedRealmCollectionImpl: isValid , isManaged , contains , get , first , first , last , last , deleteFromRealm , deleteAllFromRealm , iterator , listIterator , listIterator , sort , sort , sort , sort , size , min , minDate , max , maxDate , sum , average , remove , remove , removeAll , set , retainAll , deleteLastFromRealm , deleteFirstFromRealm , clear , add , add , addAll , addAll , createSnapshot , getRealm , getCollectionOperator

このRealmResultsに変更リスナーを追加します。

変更リスナーを登録しても、基になる RealmResult のガベージ コレクションは防止されません。 RealmResults がガベージコレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。

public class MyActivity extends Activity {
private RealmResults<Person> results; // Strong reference to keep listeners alive
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
results = realm.where(Person.class).findAllAsync();
results.addChangeListener(new OrderedRealmCollectionChangeListener<RealmResults<Person>>() {
@Override
public void onChange(RealmResults<Person> persons, OrderedCollectionChangeSet changeSet) {
// React to change
}
});
}
}

パラメーター

  • listener - 通知される変更リスナー。

スロー

このRealmResultsに変更リスナーを追加します。

変更リスナーを登録しても、基になる RealmResult のガベージ コレクションは防止されません。 RealmResults がガベージコレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。

public class MyActivity extends Activity {
private RealmResults<Person> results; // Strong reference to keep listeners alive
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
results = realm.where(Person.class).findAllAsync();
results.addChangeListener(new RealmChangeListener<RealmResults<Person>>() {
@Override
public void onChange(RealmResults<Person> persons) {
// React to change
}
});
}
}

パラメーター

  • listener - 通知される変更リスナー。

スロー

public <any> asChangesetObservable ()

この RealmResults への変更を監視する Rx Observable を返します。 サブスクライブすると、現在の RealmResult が出力されます。 RealmResult への更新ごとに、RealmResults とOrderedCollectionchangeSetで構成されるペアが送信されます。 RealmResults が初めて発行されるときに、変更セットはnullになります。

RealmResult が更新されるにつれて、RealmResult は継続的に出力されます。 onCompleteは呼び出されません。

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

Realm Observable は、ライブ Realm を保持するスレッドから常にアイテムを出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。

realm.where(Foo.class).findAllAsync().asChangesetObservable()
.observeOn(Schedulers.computation())
.map((rxResults, changes) -> doExpensiveWork(rxResults, changes))
.observeOn(AndroidSchedulers.mainThread())
.subscribe( ... );

戻り値

RxJava Observable はonNextのみを呼び出します。 onCompleteまたはOnErrorは呼び出されません。

スロー

  • UnsupportedOperationException - 必要な RxJava フレームワークがクラスパスにない場合、または対応する Realm インスタンスが RxJava をサポートしていない場合。

  • IllalStateException - Realm が Double スレッドで開かれていない場合。

Tip

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

public <any> asFlowable ()

この RealmResults への変更を監視する Rx フロー可能を返します。 サブスクライブすると、現在の RealmResult が出力されます。 RealmResult が更新されるにつれて、RealmResult は継続的に出力されます。 onCompleteは呼び出されません。

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

Realm Flowables は、ライブ RealmResults を保持するスレッドから常に項目を出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。

realm.where(Foo.class).findAllAsync().asFlowable()
.observeOn(Schedulers.computation())
.map(rxResults -> doExpensiveWork(rxResults))
.observeOn(AndroidSchedulers.mainThread())
.subscribe( ... );

asFlowable()で アイテムの発行を停止する場合は、 first()演算子を使用して RxJava に最初の アイテムのみを発行するように指示できます。

realm.where(Foo.class).findAllAsync().asFlowable()
.filter(results -> results.isLoaded())
.first()
.subscribe( ... ) // You only get the results once

戻り値

RxJava Observable はonNextのみを呼び出します。 onCompleteまたはOnErrorは呼び出されません。

スロー

  • UnsupportedOperationException - 必要な RxJava フレームワークがクラスパスにない場合、または対応する Realm インスタンスが RxJava をサポートしていない場合。

  • IllalStateException - Realm が Double スレッドで開かれていない場合。

Tip

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

public String asJSON ()

RealmQueryの一致の JSON 表現を返します。 サイクルは行インデックスとして返されます。 これはデータを検査するために使用されるヘルパー メソッドです。またはデバッグ目的では、このメソッドは大きなstringをプルし、OutOfMemory エラーを発生させる可能性があります。

戻り値

結果のRealmQueryのエントリを含む JSON 配列の string 表現。

public boolean isFrozen ()

public boolean isLoaded ()

結果がまだ読み込まれていない場合はfalseを返し、結果が読み込まれている場合はtrueを返します。

戻り値

true クエリが完了し、データが利用可能な場合は 、クエリがバックグラウンドでまだ実行中の場合はfalseになります。

public boolean load ()

非同期クエリ ブロックを作成します。 これにより、クエリが完了したときに、登録されてtrigger いる RealmCheckListsner も されます。

戻り値

true クエリが正常に完了した場合は、 false 、そうでない場合は になります。

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

スロー

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

Tip

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

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

パラメーター

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

スロー

Tip

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

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

パラメーター

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

スロー

Tip

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

public void setBlob (
String fieldName,
byte[] value
)

コレクション内のすべてのオブジェクトの指定されたフィールドのバイナリ値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または バイナリ フィールドではない場合。

public void setBoolean (
String fieldName,
boolean value
)

コレクション内のすべてのオブジェクトの特定のフィールドのboolean値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または ブール値フィールドでない場合。

public void setByte (
String fieldName,
byte value
)

コレクション内のすべてのオブジェクトの特定のフィールドのbyte値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または バイト フィールドではない場合です。

public void setDate (
String fieldName,
Date value
)

コレクション内のすべてのオブジェクトの特定のフィールドのDate値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 はプライマリキー プロパティであるか、Date フィールドでない場合。

public void setDecimal128 (
String fieldName,
Decimal128 value
)

コレクション内のすべてのオブジェクトの特定のフィールドのDecimal128値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 はプライマリキー プロパティであるか、Decimal128 フィールドでない場合。

public void setDouble (
String fieldName,
double value
)

コレクション内のすべてのオブジェクトの特定のフィールドのdouble値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、double フィールドでない場合。

public void setFloat (
String fieldName,
float value
)

コレクション内のすべてのオブジェクトの特定のフィールドのfloat値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または 浮動小数フィールドではない場合。

public void setInt (
String fieldName,
int value
)

コレクション内のすべてのオブジェクトの特定のフィールドのint値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または 整数フィールドでない場合。

public void setList <T >(
)

このコレクション内のすべてのオブジェクトの指定されたフィールドの RealmList を置き換えます。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • list - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、リスト内のオブジェクトが管理されていない場合、またはリスト内のオブジェクトのタイプが間違っている場合、 は RealmList フィールドではありません。

public void setLong (
String fieldName,
long value
)

コレクション内のすべてのオブジェクトの特定のフィールドのlong値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、long フィールドではない場合。

public void setNull (
String fieldName
)

コレクション内のすべてのオブジェクトの指定されたフィールドの値をnullに設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

スロー

public void setObject (
String fieldName,
)

コレクション内のすべてのオブジェクト内の指定されたフィールドに別のオブジェクトへの参照を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - このフィールドが参照する新しいオブジェクト。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または オブジェクト参照フィールドではない場合。

public void setObjectId (
String fieldName,
ObjectId value
)

コレクション内のすべてのオブジェクトの特定のフィールドのObjectId値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 はプライマリキー プロパティであるか、ObjectId フィールドでない場合。

public void setShort (
String fieldName,
short value
)

コレクション内のすべてのオブジェクトの特定のフィールドのshort値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、 または 短いフィールドではない場合。

public void setString (
String fieldName,
String value
)

コレクション内のすべてのオブジェクトの特定のフィールドのString値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 は プライマリキー プロパティであるか、string フィールドではない場合。

public void setUUID (
String fieldName,
UUID value
)

コレクション内のすべてのオブジェクトの特定のフィールドのUUID値を設定します。

パラメーター

  • fieldName - 更新するフィールドの名前。

  • value - フィールドの新しい値。

スロー

  • IllialArgmentException - フィールド名が存在しない場合、 はプライマリキー プロパティであるか、UUID フィールドでない場合。

public void setValue (
String fieldName,
Object value
)

クエリ結果内のすべてのオブジェクトのfieldNameによって指定されたフィールドを更新します。

このメソッドは、 Stringとして指定されている数値とブール値を適切な型に変換するために自動的に試行します。 たとえば、フィールドタイプがRealmFieldType .整数 の場合、 "10"10に変換されます。

setInt( string , int)のような型付きセッターを使用する方が、このメソッドを使用するよりも高速です。

パラメーター

  • fieldName - 更新するフィールド

  • value 更新する値。

スロー

  • IllialArgmentException - フィールドが見つからなかった場合は、 を更新できないか、引数がフィールド型と一致しなかったため、基礎のフィールド型と一致するように変換できませんでした。

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

指定されたフィールドとソート順序に基づいてコレクションをソートします。

戻り値

新しいソートされたRealmResultが作成され、返されます。 元のコレクションは変更されません。

の上書き

sort クラスOrderedRealmCollectionImpl

public RealmQuery where ()

このコレクションの特定のオブジェクトに対するクエリに使用できるRealmQueryを返します。

戻り値

RealmQuery オブジェクト。

戻る

RealmQuery