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();