Включение автономных возможностей хранит только часть объекта в 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"
......
/>