Firebase Offline Syn c Проблема - PullRequest
0 голосов
/ 28 мая 2020

Я столкнулся со странной проблемой с автономной синхронизацией firebase c.

В моем приложении я (администратор) читаю пользовательские данные, используя однозначный прослушиватель, и вношу необходимые изменения в эти дочерние объекты пользователя / properties, а затем сохраните изменения в базе данных.

Проблема в том, что при чтении пользователя с помощью прослушивателя с одним значением firebase предоставляет автономные данные пользователя, а внесенные изменения относятся к старым пользовательским данным. Итак, после сохранения пользователя в базе данных старые данные отражаются для пользователя.

Что мне здесь делать?

В любом случае явно запрашивать данные только из сети?

Мое использование:

final DatabaseReference ref= FirebaseDatabase.getInstance().getReference(DBInstances.USER_DETAILS_INSTANCE).child(userid);
ref.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if(dataSnapshot!=null) {
            User user = dataSnapshot.getValue(User.class);
            user.getCustomNotifications().add(customNotification);
            ref.setValue(user);

В User есть карта ha sh, и здесь я пытаюсь добавить ребенка к этой хэш-карте и сохранить пользователя в сети. Когда включен автономный режим, хэш-карта загружается со старыми удаленными значениями.

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