Realm
オブジェクトクラスがあり、そこに大量のデータを格納しているので、String uid;
フィールド。 uid名を取得したいのですが、同じuid名では1回だけです。たとえば
AA
AA
BB
CC
DD
BB
BB
AAだけを取得したいのですが、
BB、
CC、
DD。
一度だけ。レルムのドキュメントを調べましたが、何も見つかりませんでした。
答えてくれてありがとう。
更新:
個別のエントリを取得するには、distinct()を使用できます。
// Returns the set of users that all have a different name
RealmResults<User> users = realm.where(User.class).distinct("name");
注:.distinctは、インデックスが付けられたフィールド(@Indexまたは@PrimaryKey)でのみ機能します。子オブジェクトのプロパティでは機能しません。
この方法の詳細については、公式ドキュメントをご覧ください。 https://realm.io/docs/Java/latest/api/io/realm/Realm.html#distinct-Java.lang.Class-Java.lang.String-] [1]
レルムで明確に作業するには、以下の手順を使用してください
レルムのバージョンをレルム:1.2.0に更新します。古いバージョンでは、distinctが正しく機能していないためです。
個別に適用する変数に@Indexプロパティを追加します
このようにクエリを実行します
RealmResult<Example> realmReault =realm.where(Example.class).distinct("uid");
プロジェクトにレルムの依存関係を含めるには、build.gradle(Project)の行の下に追加できます
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.2.1'
classpath "io.realm:realm-gradle-plugin:1.2.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
上記のコードはテストされ、正しく機能しています