Flutter实战项目-第二篇 字节跳动调试工具、静态资源及阿里图标库

本文主要是介绍Flutter实战项目-第二篇 字节跳动调试工具、静态资源及阿里图标库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概要

  • 配置字节跳动调试工具
  • 图片配置
  • 配置阿里图标库
  • 语言汉化

     参考信息:https://github.com/bytedance/flutter_ume

一、安装包

dev_dependencies: # Don't use UME in release mode
  flutter_ume: ^0.3.0+1
  flutter_ume_kit_ui: ^0.3.0+1
  flutter_ume_kit_device: ^0.3.0
  flutter_ume_kit_perf: ^0.3.0
  flutter_ume_kit_show_code: ^0.3.0
  flutter_ume_kit_console: ^0.3.0
  flutter_ume_kit_dio: ^0.3.0

二、配置引用


import 'dart:async';
import 'package:flutter/material.dart';
import 'flavors.dart';
import 'main.dart';
import 'package:flutter_ume/flutter_ume.dart'; // UME 框架
import 'package:flutter_ume_kit_ui/flutter_ume_kit_ui.dart'; // UI 插件包
import 'package:flutter_ume_kit_perf/flutter_ume_kit_perf.dart'; // 性能插件包
import 'package:flutter_ume_kit_show_code/flutter_ume_kit_show_code.dart'; // 代码查看插件包
import 'package:flutter_ume_kit_device/flutter_ume_kit_device.dart'; // 设备信息插件包
import 'package:flutter_ume_kit_console/flutter_ume_kit_console.dart'; // debugPrint 插件包
import 'package:flutter_ume_kit_dio/flutter_ume_kit_dio.dart'; // Dio 网络请求调试工具class AppStart {static void run() {//捕获异常catchException(() => init().then((e) => {if (F.isPrd) {runApp(const MyApp())}else{PluginManager.instance                                 // 注册插件..register(const WidgetInfoInspector())..register(const WidgetDetailInspector())..register(const ColorSucker())..register(AlignRuler())..register(const ColorPicker())                            // 新插件..register(const TouchIndicator())                         // 新插件..register(Performance())..register(const ShowCode())..register(const MemoryInfoPage())..register(CpuInfoPage())..register(const DeviceInfoPanel())..register(Console()),runApp(const UMEWidget(child: MyApp(),enable: true)) // 初始化}}));}///启动前准备-可在此初始化信息static Future init() async {}///异常捕获处理static void catchException<T>(T Function() callback) {//捕获异常的回调FlutterError.onError = (FlutterErrorDetails details) {reportErrorAndLog(details);};runZonedGuarded<Future<void>>(() async {callback();},(Object obj, StackTrace stack) {var details = makeDetails(obj, stack);reportErrorAndLog(details);},zoneSpecification: ZoneSpecification(print: (Zone self, ZoneDelegate parent, Zone zone, String line) {collectLog(parent, zone, line); // 收集日志},),);}//日志拦截, 收集日志static void collectLog(ZoneDelegate parent, Zone zone, String line) {parent.print(zone, "日志拦截: $line");}//上报错误和日志逻辑static void reportErrorAndLog(FlutterErrorDetails details) {print(details);}// 构建错误信息static FlutterErrorDetails makeDetails(Object obj, StackTrace stack) {return FlutterErrorDetails(stack: stack, exception: obj);}
}

        

启动app即可看见字节跳动的调试工具

三、图片配置

        打开pubspec.yaml文件,找到assets:节点,在此指定静态资源的路径,如下所有的静态图片存放在以下两个路径。

  assets:- assets/images/- assets/icon/

使用图片

Image.asset('assets/images/jidonglog.png',height: 30,width: 30,);

四、配置阿里图标库

        打开pubspec.yaml文件,找到fonts:节点,在此指定图标库文件的路径。、

  fonts:- family: iconfontfonts:- asset: assets/iconfont/iconfont.ttf

使用图标库,将&#xe8f1中&#替换成0

Icon(IconData(0xe8f1,fontFamily:'iconfont'),color: UserColor.color_1,size:15
);

五、语言汉化

MaterialApp(locale: Locale('zh', 'CN'),localizationsDelegates: const [GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate,],supportedLocales: const [Locale('zh', 'CN'),],
)

这篇关于Flutter实战项目-第二篇 字节跳动调试工具、静态资源及阿里图标库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/655998

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱