HTML解析和抖动

时间:2020-05-05 19:38:23

标签: html firebase parsing flutter google-cloud-firestore

我一直在努力为我的Joomla网站提供一种与蓬勃发展的移动应用进行通信的方法。我的一位合作伙伴能够为此过程编写一个组件,并在每次保存后自动更新Firebase。

这是我要问的问题。我可以将代码从firebase放入我的flutter应用程序中,解析出出现在Android Studio控制台中的HTML,但不会打印到Text Widget。

我尝试在解析后添加变量,但无济于事。让我知道您是否有任何建议或解决方案。来自Firebase的文本“ introtext”正在控制台中打印。

  body: StreamBuilder(
    stream: Firestore.instance.collection('com_content.article').snapshots(),
    builder: (context, snapshot) {
      if(!snapshot.hasData) return Text('Loading data..Please Wait..');
      get(snapshot.data.documents[0]['title'].toString());
      get(snapshot.data.documents[0]['introtext'].toString());
      var title = parse('title');
      var introtext = parse('introtext');
      return SingleChildScrollView(
        padding: EdgeInsets.fromLTRB(20.0, 20.0, 20.0, 20.0),
        child: Column(
          children: <Widget>[
            Text('Text: ${this.title}'),
            Text('Text: ${this.introtext}'),
          ],
        ),
      );
    },
  ) ,
);

} } ...

1 个答案:

答案 0 :(得分:0)

那只花了大约4个小时,但我知道了。

这样做的好处是它可以帮助MYSQL和Joomla CMS函数与Firebase进行通信。每次从joomla的前端或后端保存文章时,该文章都会在firebase中自动更新。

比使用诸如zapier的自动化服务或编写大量REST API代码要容易得多。

这将执行以下操作

  • Joomla将MYSQL数据发送到Firebase
  • firebase看到传入的内容,并在
    中自动创建一个新文档 集合
  • Flutter应用程序然后使用StreamBuilder调用firebase
  • 使用插件flutter_html和Html()注入快照,
    需要解析
  • 运行应用并显示无标记

请参见下面的代码

...

body: StreamBuilder(         Stream:Firestore.instance.collection('com_content.article').snapshots(),
    builder: (context, snapshot) {
      if(!snapshot.hasData) return Text('Loading data..Please Wait..');

      return SingleChildScrollView(
        child: Html(
          data: snapshot.data.documents[0]['introtext'].toString(),
          padding: EdgeInsets.all(20.0),
          onLinkTap: (url) {
            print("Opening $url...");
          },
        ),
      );
    },
  ),

...