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中,更加方便项目的重构。

猜你喜欢

转载自blog.csdn.net/m0_48259951/article/details/129263387