我想弄清楚設立RealmObject與RealmResult作爲其領域的最佳途徑之一。RealmResult作爲RealmObject場
例如,假設我有兩個RealmObjects,Goal
和Achievement
。 Goal對象包含用於定義用戶想要跟蹤的Achievement的查詢的字段(例如創建成就的日期範圍,成就類型等),並具有從這些Achievements中提取統計信息的自定義方法。
什麼是目標包含成就的這RealmResult的最佳方式?這裏有一些我認爲是這樣做的方法:
- 在目標中有一個持久的RealmList字段,並在任何時候更新字段以更改結果查詢。但是如果一個新的成就被添加到領域,這個RealmList如何得到更新?
- 使用
@Ignore
註釋上的目標內的RealmResult<Achievement>
場。在使用mResult的目標中的任何位置,首先檢查是否爲空,如果需要,則重新查詢。這看起來像我會做很多不必要的查詢,如果我正在使用像RecyclerView那樣重新繪製getItem()
中的對象。 - 有一個包含目標對象和
RealmResult<Achievement>
作爲字段的包裝類。向Goal添加監聽器,以便隨時可以重新查詢相關字段更改RealmResult。
我傾向於最後一個,以保持一個有效的RealmResult最徹底的方法。我錯過了一個更簡單的方法來實現這一目標?
讓我想起了[這個想法(https://github.com/realm/realm-java/issues/3210#issuecomment-234908853),但它的「主意積壓」,這樣就不會很快出現。 – EpicPandaForce
謝謝,@EpicPandaForce!你知道什麼是最好的方法來實現這一點,假設我們沒有很快獲得@Query? – grantka
就我個人而言,我可能只是有一個類似於'RealmResults成就= achievementDao.findForGoal(realm,goalId)的抽象;'......但那只是我。 –
EpicPandaForce