Sadece merak ediyorum Realm'den rastgele bir öğeyi sorgulamanın bir yolu var mı? Belirtilen kimliğe sahip alanımdan + belirli bir öğeden 4 rastgele öğe almam gerekiyor.Realm ile rastgele öğe nasıl sorgulanır?
2
A
cevap
1
Düzenleme: Rasgele bir nesne almak için Realm'de bir yöntem bilmiyorum, ancak aşağıda açıklandığı gibi yapabilirsiniz.
Bunu yapmanın bir yolu, tüm nesneleri sorgulamak, ardından 4 rastgele sayı üretmek (0'dan RealmResults boyutuna kadar) oluşturmak ve yalnızca bu konumlarda nesneleri almak olabilir. Bu işlevde bir realmresult gelen n elemanlı bir Realmlist dönmek, bu işlevi kullanabilirsiniz benzersiz sonuçlar elde etmek isteyen varsa
// 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
: bu bir rasgele nesne almak için nasıl
//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)));
}
}
İlgili konular
- 1. Mysql veritabanında 10 rastgele benzersiz kayıt nasıl sorgulanır?
- 2. Realm
- 3. MongoDB - koleksiyon içindeki iç içe geçmiş bir öğe nasıl sorgulanır?
- 4. Ardışık koleksiyondan rastgele bir öğe alın
- 5. Ağırlıklı bir listeden rastgele bir öğe seçin
- 6. JSONP ile Facebook Graph API'sı nasıl sorgulanır
- 7. Enums Realm ile destekliyor mu?
- 8. Realm nesnesini Realm tablosuna eşlemeyiniz.
- 9. MongoDB R'den nasıl sorgulanır?
- 10. Çoktan çoğa nasıl sorgulanır?
- 11. Realm Realm listesi için Gson serileştirme
- 12. Realm 88.2
- 13. İki Realm nesnesi nasıl bağlanır
- 14. MySQL ile rastgele satır seçimi
- 15. elasticserch'te farklı alanlar nasıl sorgulanır?
- 16. Geçerli hafta mysql nasıl sorgulanır?
- 17. Jena: Modelden veri nasıl sorgulanır?
- 18. Kıvılcım kullanarak mongo nasıl sorgulanır?
- 19. R'de eksen sınırları nasıl sorgulanır?
- 20. Android'de MMS Günlüğü nasıl sorgulanır
- 21. Rastgele görünüm Twig ile görünümde
- 22. Rastgele bir numaralandırma ile güvenli bir şekilde en son C++ ile bir öğe seçin
- 23. Tracd Realm
- 24. Realm kullanarak nasıl sıralama yapılır?
- 25. Realm Swift Init Nasıl Kullanılır
- 26. Realm. sıfırlama veritabanı
- 27. Hata: java.lang.UnsatisfiedLinkError roboelectric ve realm ile
- 28. Hızlı 3 ile Realm için diziler ekleyin
- 29. Rastgele şifre ile Redis AUTH
- 30. Rastgele düşmanı rastgele nesne kullanarak nasıl değiştirirsiniz?
Evet teşekkürler! Ancak tüm kayıtları saymak için bir yöntem var ve daha sonra sadece bu kimlikleri için rasgele kimlikleri ve sorgulama veritabanı yapmak. Bir plan gibi görünüyor! –
RealmObjects, sorgulayabileceğiniz sabit bir dizine sahip değil, bu nedenle yukarıdaki gibi bir şey yapmanın doğru yolu olacaktır. Realm'deki her şeyin tembel yüklü olduğunu unutmayın, bu nedenle yukarıdakiler de oldukça iyi performans gösteriyor. –