Как получить изображение профиля текущего пользователя в панели приложений

#firebase #flutter

#firebase #флаттер

Вопрос:

Как я могу получить изображение профиля текущего (вошедшего в систему) пользователя из Firebase? Как я могу получить доступ к приведенным ниже значениям перед сборкой streamBuilder , поскольку я хочу показать значок profilepic в панели приложений?

Вот мой код:

 body: StreamBuilder(
      stream: mystream,
      builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return CircularProgressIndicator();
        }

        return ListView.builder(
            itemCount: snapshot.data.documents.length,
            itemBuilder: (c, i) {
              DocumentSnapshot email = snapshot.data.documents[i];
              return InkWell(
                onTap: () {
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                          builder: (c) => ViewMail(
                                id: email['id'],
                                sender: email['sender'],
                                time: email['time'],
                                picture: email['picture'],
                                mail: email['mail'],
                                subject: email['subject'],
                                profilepic: email['profilepic'],
                                username: email['username'],
                              )));
                },
  

Ответ №1:

Вы можете использовать setState () после получения profilePic из Firebase и использовать его следующим образом:

    String profilePic;  

   AppBar _buildAppBar(BuildContext context) {
     return AppBar(
       title: profilePic != null ?
          Image.network(
             profilePic,
          ) :
          Text("Profile pic not found"),
       centerTitle: true,
       actions: <Widget>[
         // some actions.
       ],
     );
   }