Room に以下のようなテーブルがあり、Android アプリケーションで Raw Query を使用してデータを取得します。配列sorting_fieldの2 番目の値でソートできますか?
---------------------------------------------
| id | other_fields | sorting_field |
---------------------------------------------
| 1001 | … | ["24","0.02","2"] |
---------------------------------------------
最初に、関数内で 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))));
ページングの実装後、ソート ロジックを削除し、クエリ ビルダーに移行して、現在に至ります。