首页 > 解决方案 > 使用 Flutter 实时获取数据

问题描述

我的应用程序出现问题,通过从另一个网站获取数据来获取数据。我希望我的屏幕实时显示数据,因此如果网站上发生任何更改,它会显示我的应用程序中的更改,而无需单击更新或执行任何其他操作。

我尝试使用未来,但我不知道如何使用它。这是我的代码:

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

class FetchDataAPI {
  get(String url, String function, Map<String, String> header) async {
    List Response = List();
    Response.clear();

try {
  final result = await InternetAddress.lookup('google.com');

  if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
    // Internet connected
    try {
      var resBody = await http.get(
        url,
        headers: header,
      );

      print(resBody.statusCode);

      // 200
      if (resBody.statusCode == 200) {
        Response = [json.decode(resBody.body)];

        return  Response ;
      }
      // Not 200
      else {
        Response = [
          {
            "exception": false,
            "statusCode": resBody.statusCode,
            // Body here depend on response post man
            "body": json.decode(resBody.body),
            "message": null
          }
        ];

        return Response;
      }
    } catch (e) {
      Response = [
        {
          "exception": true,
          "statusCode": null,
          "body": null,
          "message": e.toString()
        }
      ];

      return Response;
    }
  } else {
    // Internet not connected

    Response = [
      {
        "exception": true,
        "statusCode": null,
        "body": null,
        "message": "No internet conected."
      }
    ];

    return Response;
  }
} on SocketException catch (e) {
  Response = [
    {
      "exception": true,
      "statusCode": null,
      "body": null,
      "message": "No internet conected."
    }
  ];

  return Response;
}
  }


}

标签: apiflutterdartflutter-dependencies

解决方案


您应该使用StreamsStreamBuilder


推荐阅读