Как хранить оценки пользователей в Firebase с помощью android studio и как получить доступ к дочернему узлу в firebase - PullRequest
0 голосов
/ 29 сентября 2018

Я пытался создать приложение, которое позволяло бы пользователям проходить оценку, а затем раскрывать свой счетРегистрация пользователей уже работает, однако я пытаюсь добавить узел оценки в этот родительский узел.Я не могу получить доступ к дочернему узлу и не могу обновить оценку пользователей.Пожалуйста, помогите мне. The User is the parent node and its child is Rona.

1 Ответ

0 голосов
/ 29 сентября 2018

Чтобы решить эту проблему, используйте следующий код:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("Users").child("Rona");
Map<String, Object> map = new HashMap<>();
map.put("score", 0);
ref.updateChildren(map);

Результатом будет добавление свойства score в вашу базу данных со значением 0.

* 1007.* Редактировать: Согласно вашему комментарию:

, но я хотел получить доступ к другим пользователям.не только Rona

Чтобы решить эту проблему, вам нужно использовать запрос, который выглядит следующим образом:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("Users").orderByChild("username");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            Map<String, Object> map = (Map<String, Object>) ds.getValue();
            map.put("score", 0);
            ds.getRef().updateChildren(map);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
query.addListenerForSingleValueEvent(valueEventListener);

Используя приведенный выше код, вы сможете обновить score свойство не только для Rona, но и для всех остальных пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...