Как изменить значение потомка неизвестного родителя в Firebase - Android

Пожалуйста, посмотрите на этой странице (раздел «Диапазоны версий зависимостей»). То, что вы можете сделать, это что-то вроде

[1.2.3,)

. Эти диапазоны версий реализованы в Maven2.

0
задан Alex Mamo 25 March 2019 в 11:24
поделиться

1 ответ

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

DatabaseReference messageRef = mRootRef.child("messages").child(mCurrentUserId).child(mChatUser);
Query query = messageRef.orderByChild("seen").equalTo(false);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            ds.child("seen").getRef().setValue(true);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
query.addListenerForSingleValueEvent(valueEventListener);

Результатом будет изменение вашего свойства seen с false на true.

Если в какой-то момент вы также попытаетесь использовать Cloud Firestore , здесь вы можете найти учебное пособие о том, как создать полноценное и функциональное приложение Firestore Chat с использованием Kotlin .

]
0
ответ дан Alex Mamo 25 March 2019 в 11:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: