Realmからランダムな項目を照会する方法はありますか?私は自分の領域から4つのランダムなアイテム+特定のIDを持つ特定のアイテムを1つ取得する必要があります。Realmでランダムな項目を照会する方法
2
A
答えて
1
編集:ランダムオブジェクトを取得するにはRealmのメソッドがわかりませんが、以下で説明するように行うことができます。
これを行う1つの方法は、すべてのオブジェクトを照会し、4つの乱数(0からRealmResultsのサイズまで)を生成し、それらの位置にオブジェクトを取得することです。この機能では、我々はrealmresultからn個の要素のRealmListを返し、あなたはこの機能を使用することができますユニークな結果を得るために喜んでいる場合
// get realm
Realm realm = Realm.getDefaultInstance();
// get all objects
RealmResults<YourObject> results = realm.where(YourObject.class).findAll();
// random generator
Random r = new Random(System.nanoTime());
// generate first random number to be from the range [0..number of objects)
int firstRandomNumber = r.nextInt(results.size());
// get first object from results at position randomly generated above
YourObject firstRandomObject = results.get(firstRandomNumber);
0
:これは1つの乱数オブジェクトを取得する方法である
//Realm result
RealmResults<Question> questionRealmResults = QuestionManager.getAllQuestions();
//Realm List to be returned
RealmList<Question> realmList = new RealmList<>();
//List of unique random questions ids
List<Integer> questionIds = new ArrayList<>();
//Random Instance to generate Questions Ids
Random random = new Random();
int randomNumber;
while (questionIds.size() < limit) {
randomNumber = random.nextInt(questionRealmResults.size());
if (!questionIds.contains(randomNumber)) {
questionIds.add(randomNumber);
realmList.add(new TestQuestion(questionRealmResults.get(randomNumber)));
}
}
関連する問題
- 1. システムからすべてのダウンロード項目を照会する方法DownloadProvider?
- 2. TFS2010のサブ作業項目を.NETを使用して照会する方法
- 3. 単一引用符で項目を照会するハンドリング
- 4. mysqlデータベースで10個のランダムなユニークレコードを照会する方法は?
- 5. リスト項目を同じ最初の項目と照合する方法
- 6. TFSバージョンコントロールの項目をプログラムで参照する方法
- 7. LINQチェックボックスリストの選択項目によるフィルタの照会
- 8. プロパティがリスト内の項目(C#ドライバ)と一致するドキュメントを照会する方法
- 9. solrNetでの照会方法
- 10. あまりにも多くのチェンジセットを使用して作業項目を照会する方法
- 11. ランダムな順序で辞書から項目を表示する方法隣接する2つの項目が同じではない
- 12. タグ付きライブラリからランダムな項目を選択する
- 13. [CKRecordID]のCloudKitを照会する方法
- 14. 接合テーブルを照会する方法
- 15. postgresのUUIDを照会する方法
- 16. ブロブを照会する方法は?
- 17. SPViewオブジェクトを照会する方法
- 18. リストボックスの項目をコンボボックスの項目にコピーする方法は?
- 19. MongoDB:単一のランダム文書を照会する最も効率的な方法は何ですか?
- 20. AsNoTrackingとCancellationTokenで大規模なDbSetを照会する方法
- 21. リストから項目をランダムに選択
- 22. 奇妙な振る舞い:Java Comparatorがリスト項目をランダム化
- 23. 異なる確率で配列のランダムな項目を取得しますか?
- 24. ASP.NET固有のデータを照会する方法ASP.NET固有のデータを照会する方法
- 25. 適切な方法で項目を分類する
- 26. このデータを照会する方法がわからない
- 27. RavenDBを照会する一般的な方法
- 28. 自己参照テーブルを照会する方法
- 29. SQLite - 空間参照を照会する方法は?
- 30. 照会可能な照会データ数
そう、ありがとう!しかし、すべてのレコードの数を取得し、このIDのランダムIDとクエリデータベースを作成する方法はありますか?計画のようだ! –
RealmObjectsには、照会できる安定したインデックスがありませんので、上記のようなものが正しい方法です。 Realmのすべてが遅延ロードされていることに注意してください。 –