Flutter-重构全局初始化逻辑

在APP运行前可能需要初始化其他逻辑,比如一些第三方服务,高德地图等等,如果每次多来修改main.dart文件里的main(),会让这个main()方法内容比较多。解决方法就是把这种逻辑封装到单独的一个类中,同时这个类也是个全局类,这样如果以后有什么内容要在多个界面共享的话,也把需要共享的内容放到这个类中,统一管理。

在这里插入图片描述

随便创建一个dart文件,app_context.dart

在这里插入图片描述
在这里插入图片描述

还有一个情况需要处理的就是,有些服务可能必须初始化完成后,才进入主页面去执行runApp(const MyApp())代码。解决方法就是在全局类里返回一个异步的对象Future

///AppContext.dart 中

class AppContext{
  static Future init() {
    return Future.value();
  }

}
///main.dart 中

void main() {
  AppContext.init().then((value) => runApp(const MyApp()));
}

这样的话,以后有需要初始化的逻辑就不用去修改mian文件,全都放在app_context.dart中,更加方便项目的重构。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值