我在 Room 中有一个如下表,在 Android 应用程序中,我使用 Raw Query 来获取数据。它可以按数组排序字段中的第二个值排序吗?
---------------------------------------------
| id | other_fields | sorting_field |
---------------------------------------------
| 1001 | … | ["24","0.02","2"] |
---------------------------------------------
最初,我在 Repository 中使用 Transformations.switchMap 进行了排序部分,在函数内是 MutableLiveData> 并应用了 Collections.sort。
它就像一个魅力:
Collections.sort(list, (o1, o2) -> Double.compare(Double.valueOf(o1.sorting_field().get(positionInList)), Double.valueOf(o2.sorting_field().get(positionInList))));
在分页实现之后,我取出了排序逻辑,移至查询构建器,我就在这里。