Как получить данные из базы данных Firebase в реальном времени и изменить одно текстовое поле для представления этой конкретной записи? - PullRequest
1 голос
/ 13 апреля 2019

Это мой первый пост, извините за путаницу!

Я недавно начал использовать Flutter, и я тоже новичок в Firebase.

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

database hierarchy

Что я хочу сделать, это найти конкретного пользователя по его идентификатору, получить его информацию (поли имя в этом случае), а затем установите виджет (в данном случае текстовый виджет), чтобы использовать это значение.

Как это можно сделать?

Я искал многоВопросы StackOverflow по этому поводу, и все они используют FutureBuilders или DataSnapshots, и я не могу понять, как их отсортировать, чтобы они работали.

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

1 Ответ

0 голосов
/ 14 апреля 2019

Вы можете сделать следующее:

db = FirebaseDatabase.instance.reference().child("Users");
db.orderByKey().equalTo(Id).once().then((DataSnapshot snapshot){
 Map<dynamic, dynamic> values = snapshot.value;
   values.forEach((key,values) {
     print(values["name"]);
    });
 });

Сначала вы получаете экземпляр для узла User, а затем, используя orderByKey(), можете искать пользователя по идентификатору и получать имя и пол.

Проверьте следующую ссылку для получения дополнительной информации:

https://github.com/flutter/plugins/blob/master/packages/firebase_database/lib/src/query.dart#L183

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