flutter索引知识点

发布于:2025-02-10 ⋅ 阅读:(29) ⋅ 点赞:(0)
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();


网站公告

今日签到

点亮在社区的每一天
去签到