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

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件