Как я могу привязать один URL-адрес изображения к своему флаттеру из firebase? - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь связать URL-адрес изображения с виджетом развевающегося сетевого образа из моего документа базы данных firebase.

Image( image: NetworkImage('eventurl'),

Может кто-нибудь помочь мне с этим плз.

body: SafeArea(
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: <Widget>[
          Container (
            color: Colors.yellowAccent,
            child: Center(child: Text('FREATURED EVENT',
              style: TextStyle(
                letterSpacing: 10.5,
              ),
            ),
            ),
          ),
          Image( image: NetworkImage('eventurl'),
          ),
        ],
      ),
    ),

1 Ответ

0 голосов
/ 18 февраля 2020

Если я правильно понимаю, у вас уже есть URL и вы хотите показать его в пользовательском интерфейсе, для этого используйте виджет Image с фабричным методом network, например:

...Container(child: Image.network('https://YOURURLIMAGEHERE.COM')),

Чтобы получить изображение, поместите свой код в функцию, которая возвращает Future и имеет асин c, как показано ниже:

Future<MyDocument> readDocumentFromDatabase() async {...access firebase and retrieve data }

После этого используйте виджет FutureBuilder для вызова этой функции, пример:

@override
Widget build(BuildContext context) {
return FutureBuilder(
  future: readDocumentFromDatabase(),
  builder: (context, snapshot) {

    if(snapshot.hasData == false) { return CircularProgressIndicator(); }

    return Container(child: Image.network(snapshot.data.eventUrl));
},);

, чтобы узнать, как реализовать readDocumentFromDatabase, см. https://medium.com/47billion/how-to-use-firebase-with-flutter-e4a47a7470ce

[] s

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