Я знаю, что по Firebase Datasnapshot задают много вопросов, но я все еще немного не прояснил свои сомнения. Вот в чем дело,
У меня есть структура данных в базе данных Firebase Realtime,
Если у меня есть 100kb файл внутри вышеуказанной ссылки, скажем,
val ref = FirebaseDatabase.getInstance().getReference("Groups")
Если я вызываю `ref.addValueEventListener (object: ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
// access getvalue here
}
})
`
Я получаю снимок данных внутри ссылка в виде p0.
Вопрос-1 Будет ли в этом конкретном снимке все доступные данные внутри ссылки (будет ли размер загруженного снимка 100 КБ ?). Если я вырезал inte rnet в первой строке onDataChange, могу ли я получить доступ ко всем данным внутри datasnapshot или данные будут загружены только при вызове команды p0.getValue
для onDataChange & datasnapshot как ссылка на данные?
Question-2
В моем коде я поместил ValueEventListener в «Группы», поэтому, если есть одно изменение в активности person2 (либо новое действие добавлены или существующие данные изменены), я дау загрузка всех данных в «Группы», которых я хотел избежать, поскольку группы становятся больше, чем больше данных потребляется. Как эффективно получить данные только от person2, когда данные person2 изменены или добавлены новые действия. Я попытался добавить дочерний прослушиватель событий в «Группы», который ведет себя так же, как ValueEventListener. Я не могу добавить слушателя для каждого человека, так как число людей неизвестно, и это может быть большее число, я не хочу, чтобы в моем коде было так много слушателей. Мой код уже работает, поэтому я не могу даже изменить структуру базы данных.