首页 > 解决方案 > Flutter:如何从 Firebase 获取实时数据库(导入的 Json)中的数据

问题描述

这是我第一次尝试将 firebase 与 Flutter 一起使用,我正在尝试从存储的实时数据库(从 json 导入)中获取数据,如下图所示:

在此处输入图像描述

我创建了这样的服务:

import 'dart:convert';
import 'package:http/http.dart' as http;

class FireBaseApi {
  Future getData() async {
    try {
      var url = 'https://xxxxxxxxxxxx.firebaseio.com/0.json';
      var response = await http.get(url);
      var data = jsonDecode(response.body);
      return data;
    } catch (e) {
      print(e);
      return null;
    }
  }
}

并像这样使用它:

return FutureBuilder(
  future: FireBaseApi().getData(),
  builder: (context, snapshot) {

现在我怎样才能接触到物品?

标签: flutterfirebase-realtime-databasestream

解决方案


首先你需要设置你的方法Future

class FireBaseApi {
  Future getData() async {
    ...
    return response;
  }
}

然后你需要调用这个方法,asStream()如果你StreamBuilder像下面这样调用它

return StreamBuilder(
 stream: FireBaseApi().getData().asStream(),
  builder: (context, snapshot) {
   ...
}

推荐阅读