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. WiqlでVSTS作業項目を照会する方法
- 2. DynamoDB(iOS)の複数の項目を照会する方法は?
- 3. 作業項目照会作業項目照合時の照合ポリシー
- 4. ComboBoxItemへのリスト項目の照会
- 5. システムからすべてのダウンロード項目を照会する方法DownloadProvider?
- 6. TFS2010のサブ作業項目を.NETを使用して照会する方法
- 7. TFS 2017 SQLを使用して作業項目を照会する方法
- 8. 単一引用符で項目を照会するハンドリング
- 9. レルム内のランダムなオブジェクトを照会する方法ネイティブで反応する
- 10. mysqlデータベースで10個のランダムなユニークレコードを照会する方法は?
- 11. CardViewでランダムな項目を選択
- 12. リストの項目の項目を正しく参照する方法
- 13. リスト項目を同じ最初の項目と照合する方法
- 14. 1行の異なる項目を照会して一覧表示する方法Psql
- 15. TFSバージョンコントロールの項目をプログラムで参照する方法
- 16. LINQチェックボックスリストの選択項目によるフィルタの照会
- 17. Firestore:文書の配列内の項目による照会
- 18. Laravel 5 - 多対多関連のモデルによる照会項目
- 19. VSTSの以前の反復の作業項目を照会
- 20. realmをSQLのような単一の文字列で照会するには?
- 21. AndroidのRetrofit 2でNode.jsのMongoDBデータベースから項目を照会すると
- 22. GraphQLでランダムレコードを照会する方法
- 23. "find"でmongoDBを照会する方法
- 24. プロパティがリスト内の項目(C#ドライバ)と一致するドキュメントを照会する方法
- 25. 兄弟リストの項目を参照する方法
- 26. solrNetでの照会方法
- 27. Realm内のInverseリレーションシップを使用してオブジェクトを照会する適切な方法
- 28. あまりにも多くのチェンジセットを使用して作業項目を照会する方法
- 29. Solr Query構文を使用して同じ列の項目のリストを照会する方法は?
- 30. 文字列で照会する方法
そう、ありがとう!しかし、すべてのレコードの数を取得し、このIDのランダムIDとクエリデータベースを作成する方法はありますか?計画のようだ! –
RealmObjectsには、照会できる安定したインデックスがありませんので、上記のようなものが正しい方法です。 Realmのすべてが遅延ロードされていることに注意してください。 –