Я создаю простое приложение с помощью Firebase. Моя структура базы данных Firebase выглядит следующим образом:
user:{
uid:{
name:user1,
age:22,
score:80,
address:mycity,
uid:uid
}
},
contact:{
uid:{
phone:123456
}
}
И это мой ссылочный код базы данных.
mRef = db.getInstance().getReference("user");
mRef.orderByChild("city").equalTo(mycity)
.addValueEventListener(new ValueEventListener {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
HashMap < String, String > hashmap = new HashMap < > ();
hashmap.put("name", snapshot.child("name").getValue());
hashmap.put("score", snapshot.child("score").getValue());
userarr.add(hashmap);
contact = db.getInstance().getReference("contact").child(snapshot.child("uid").getValue());
contact.addValueEventListener(new ValueEventListener {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
contactHashmap.put("phoneNumber", dataSnapshot.child("phone").getValue());
contactarr.add(contactHashmap);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
});
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
});
}
}
Я хочу отсортировать данные по «счету». Если я сортирую это с "Comparator" на стороне клиента. Данные двух массивов не могут быть сопоставлены. Как сортировать данные по «счету».
Извините за мой плохой разговор по-английски sh.
Редактировать: Я хочу получить базу пользователей по тому же региону (адресу). И сортируйте их по «счету» (по возрастанию или по убыванию)