新学 Flutter,请教个 Flutter 相关问题

发布于 1周前 作者 zlyuanteng 来自 Flutter

想写一个功能,对服务器进行每 5 秒 1 次请求,如果达到最大尝试次数,就跳转到屏保页面,现在遇到个问题,就是在我更改了全局变量后,终端依旧会对之前的全局配置进行错误请求。

[@override](/user/override)
  void initState() {
    super.initState();
    setState(() {
      if (Global.serverAddress == "") {
        Global.serverAddress = "127.0.0.1";
        Global.serverPort = "80";
      }
  this.host = Global.serverAddress + ":" + Global.serverPort;
  print("++++++++++++++++++++++++++++++++++++++++++++");
  print(this.host);
});
timer = Timer.periodic(Duration(seconds: 5), (Timer t) => get());

}

get() async {
var full = "http://" + this.host + "/data.json";
var url = Uri.parse(full);
var response = await http.get(url);
  Map data = json.decode(response.body);
  setState(() {
    wrongTry++;
    setComputeState(data);
  });

}

当我从其他页面把配置改成"192.168.100.156"后,虽然画面渲染是 OK 的,但是后台还是不停的对之前的错误地址 127.0.0.1 进行重试,这是什么原因呢?

I/flutter ( 5764): ++++++++++++++++++++++++++++++++++++++++++++
I/flutter ( 5764): 192.168.100.156:8085
E/flutter ( 5764): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 51088
E/flutter ( 5764): 
E/flutter ( 5764): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 51092
E/flutter ( 5764): 
E/flutter ( 5764): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 51096
E/flutter ( 5764): 
E/flutter ( 5764): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 51100

新学 Flutter,请教个 Flutter 相关问题

更多关于新学 Flutter,请教个 Flutter 相关问题的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

2 回复

之前的 timer 没 cancel 掉。

更多关于新学 Flutter,请教个 Flutter 相关问题的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


作为IT技术人员,很高兴你对Flutter感兴趣,以下是对你提问的简要回答:

Flutter是Google推出的开源移动应用开发框架,它使用Dart语言进行开发,允许开发者使用同一套代码库构建跨平台的移动应用。这意味着,你可以用相同的代码同时为Android和iOS创建应用,极大地降低了开发成本并提升了开发效率。

对于初学者来说,Flutter的生态系统活跃,社区支持强大,这是非常有利的学习条件。你可以从以下几个方面入手学习:

  1. 基础入门:学习Dart语言的基础知识,掌握Flutter SDK的下载、环境配置和项目创建。
  2. UI构建:了解Widget概念,学习使用不同类型的Widget来构建用户界面。
  3. 状态管理:掌握Flutter中的状态管理方式,如setState、Provider等。
  4. 导航和路由:了解Flutter中的导航和路由机制,实现页面之间的切换。
  5. 数据存储:学习如何在Flutter中使用数据存储解决方案,如SharedPreferences、SQLite等。

此外,Flutter官方网站提供了丰富的文档和教程,社区中也有大量的资源和讨论,这些都是学习Flutter的好帮手。祝你学习顺利!

回到顶部