Как сортировать json по name в алфавитном порядке в Realtime Database?
Надо отсортировать в алфавитном порядке данные из Realtime Database. Можно ли вообще так сортировать, все что я находил были сортировки по числовому значению или что то в запросе ниже не правильно, подскажите пожалуйста.
{
"0001": {
"id": 1,
"job": "слюсар 3р",
"name": "Антонов Іван Александрович",
"phone": "066 200 20 20",
"station": "МО",
"tab": "0001",
"uid": "0001"
},
"0002": {
"id": 2,
"job": "слюсар 4р",
"name": "Гнтонов Іван Александрович",
"phone": "066 200 20 20",
"station": "ГСП",
"tab": "0002",
"uid": "0002"
},
"0003": {
"id": 3,
"job": "слюсар 5р",
"name": "Внтонов Іван Александрович",
"phone": "066 200 20 20",
"station": "МД",
"tab": "0003",
"uid": "0003"
},
"0004": {
"id": 4,
"job": "слюсар 6р",
"name": "Бнтонов Іван Александрович",
"phone": "066 200 20 20",
"station": "ГГЗ",
"tab": "0004",
"uid": "0004"
},
"0005": {
"id": 5,
"job": "майстер",
"name": "Бнтонов Іван Александрович",
"phone": "066 200 20 20",
"station": "МЗД",
"tab": "0005",
"uid": "0005"
}
}
Использую для вывода FirebaseRecyclerPagingAdapter Пробовал так вообще ничего не выводит:
com.google.firebase.database.Query staffquery = FirebaseDatabase.getInstance().getReference().child(PATH_STAFFS);
com.google.firebase.database.Query orderedQuery = staffquery.orderByChild("name");
Сортировка по id тоже ничего не дала, а это цифровое значение вот если что код:
LinearLayoutManager mManager = new LinearLayoutManager(getActivity());
/* mManager.setReverseLayout(true);
mManager.setStackFromEnd(true);*/
binding.staffRec.setLayoutManager(mManager);
PagingConfig config = new PagingConfig(/* page size */ 10, /* prefetchDistance */ 5,
/* enablePlaceHolders */ false);
DatabasePagingOptions<Staff> options = new DatabasePagingOptions.Builder<Staff>()
.setLifecycleOwner(this)
.setQuery(orderedQuery , config, Staff.class)
.setLifecycleOwner(getViewLifecycleOwner())
.build();
staffRecycleAdapter = new StaffRecycleAdapter(options, this, StaffRecycleAdapter.VT_USUAL);
binding.staffRec.setHasFixedSize(true);
binding.staffRec.setAdapter(staffRecycleAdapter);