Включение автономных возможностей хранит только часть объекта в Firebase

Я разработал приложение для Android с использованием базы данных Firebase в реальном времени и некоторых других служб Firebase, в базе данных у меня есть справочник для пользователей, где я храню необходимую информацию о пользователях, например:

При хранении в базе данных я проверяю, что пользователь и все его поля инициализированы, а не равны нулю или не определены.

Все работало нормально, прежде чем пытаться включить автономные функции, следуя этой документации, теперь я добавил эту строку, как объяснено в документации в основной деятельности:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

и приложение работает нормально в автономном режиме большую часть времени, но иногда, при получении списка пользователей, происходит сбой приложения с NullPointerException, я проверяю базу данных и нахожу пользователя только с двумя полями; instanceId и Id, остальные поля отсутствуют. Я не знаю, почему это происходит, но, безусловно, проблема заключается в поддержке автономных возможностей.

Я бы очень признателен за любую помощь, которую я искал несколько дней для решения. Спасибо!

1 ответ

Я надеюсь, что это будет работать для вас.

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

Поместите строку выше в вашем классе приложения onCreate() метод. если не создан, создан так

import android.app.Application;

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        FirebaseDatabase.getInstance().setPersistenceEnabled(true);
    }
}

И назовите этот класс в Манифесте так,

 <application
        android:name=".App"
        ......
             />
Другие вопросы по тегам