Похоже, вам не нужна функция синхронизации базы данных Firebase.
Однако, находясь в режиме онлайн, пользователи могут подключаться к БД для загрузки необходимых им данных.Кроме того, они могут управлять данными в автономном режиме, поэтому они могут удалять данные, которые они не хотят использовать.Пользователи не могут изменять онлайновую базу данных.
установите в правилах запись для этой таблицы как ложную, и модификация не будет возможна, так как вы включили поддержку постоянства диска, база данных будет читать новые обновления, но не будет писатьпользователь меняется.Также он может отменить существующие изменения пользователя (которые пользователь удалил) во время синхронизации и поместить новые из облака, , чтобы вы могли (как я никогда не пробовал) в конечном итоге выполнить синхронизациюсамостоятельно, пожалуйста, поищите и прочитайте об этом.
Поскольку firebase загружает всю базу данных: есть ли способ выбрать, какие запросы я хочу загрузить из firebase?Если нет, могу ли я удалить те запросы, которые я не хочу использовать, из локального контента?
Вам придется отключить синхронизацию для каждой таблицы как показано ниже
DatabaseReference dbRef=FirebaseDatabase.getInstance().getReference("table-name");
dbRef.keepSynced(false);
См. здесь в документах .Я думаю, что это должно быть сделано на каждом узле, так как нет никакого способа отключить его на всей базе данных реального времени firebase, кроме отключения стойкости диска, которое вы хотите в вашем случае.
IMHO похоже, что вы используете firebaseв качестве места для хранения ваших данных в облаке, в случае, если функция синхронизации в конечном итоге отбрасывает ваши локальные изменения , чтобы синхронизировать онлайн-изменения, вам следует рассмотреть возможность использования базы данных SQL-lite с Room ORM, поскольку она будет служить вашим целямпросто извлекать данные и модифицировать их локально, однако компромисс здесь заключается в том, что вам придется поддерживать данные надлежащим образом, чтобы запрашивать более новые изменения или видеть, есть ли какие-либо обновления / удаления в какой-либо из более старых записей.