flutter索引知识点

复制代码
WidgetsFlutterBinding.ensureInitialized();初始化开启
复制代码
initializeDateFormatting 本地化资源文件的加载
复制代码
FileStorage 用于存储文件数据
  • getApplicationDocumentsDirectory() :获取应用文件目录(IOS和安卓通用),针对 Android 设备的 AppDate 目录,iOS 设备的 NSDocumentDirectory 目录
复制代码
  Loading.show();
  Loading.dismiss();

页面widget跳转

复制代码
        actions: [
          TextButton(onPressed: () {
            clickSelectDownloadedFirmware();
          }, child: Text("本地固件".local()))
        ],



  clickSelectDownloadedFirmware() async {
    final r = await Get.to(() => FirmwareLocalPage(select: widget.select,downloaded: downloaded,gatewayModel: widget.gatewayModel,deviceModel: widget.deviceModel));
    Log.debug("click select back $r");
    update();
    if (widget.select && r is FirmwareModel) {
      Get.back(result: r);
    }
  }

Dio是一个专为Dart和Flutter设计的强大HTTP客户端库,支持全局设置、拦截器、FormData处理、请求的中止与取消、文件上传下载、请求超时、自定义适配器等功能。此项目遵循MIT许可协议,并由Chinese Flutter User Group (@cfug) 自2023年起维护。Dio提供了丰富的API来应对各种网络交互需求,是构建复杂网络应用的理想选择。

_dio?? 判断为空后赋值,否则不赋值

dio! 明确dio不为空

..interceptors 在对象的后面使用级联符号".."加属性或方法,会返回对象的本身,类似于java中的Builde建造者模式

复制代码
  static Dio get dio => () {
    _dio ??= 
    () {
      final dio = Dio(BaseOptions(
        baseUrl: baseUrl,
      ))
      ..interceptors.add(_DioCommonInterceptor());
      return dio;
    }.call();
    return _dio!;
  }.call();
相关推荐
yfmingo3 小时前
flutter项目大量使用.obs会导致项目性能极度下降吗
flutter
山璞3 小时前
Flutter3.32 中使用 webview4.13 与 vue3 项目的 h5 页面通信,以及如何调试
前端·flutter
ezeroyoung4 小时前
环信em_chat_uikit(Flutter)适配鸿蒙
flutter·华为·harmonyos
恋猫de小郭4 小时前
再次紧急修复,Flutter 针对 WebView 无法点击问题增加新的快速修复
android·前端·flutter
庄雨山6 小时前
Flutter+Riverpod+开源鸿蒙:新一代跨端状态管理实战
flutter·开源·openharmonyos
遝靑7 小时前
深入 Flutter 底层:自定义 RenderObject 实现高性能异形列表项
flutter
爱吃大芒果7 小时前
Flutter 网络请求完全指南:Dio 封装与拦截器实战
开发语言·javascript·flutter·华为·harmonyos