乐趣区

关于flutter:FlutterUtils-工具库

FlutterUtils

目录介绍

  • 01. 事件告诉 bus 工具类
  • 02. 色彩 Color 工具类
  • 03. 日期转化工具类
  • 04.File 文件工具类
  • 05.Sql 数据库工具类
  • 06.Json 转化工具类
  • 07.Log 日志打印工具类
  • 08. 屏幕参数工具类
  • 09.Sp 轻量存储工具类
  • 10. 辅助计算工具类
  • 11. 加密和解密工具类
  • 12.Num 格局解决工具类
  • 13. 设施参数获取工具类
  • 14. 图片解决工具类
  • 15. 网络解决工具类
  • 16. 罕用正则工具类
  • 17.Object 常用工具类
  • 18. 验证相干工具类
  • 19. 路由管理工具类
  • 20.Bus 事件工具类
  • 21.Text 文本工具类
  • 22.i18 拓展工具类
  • 23.Time 工夫工具类
  • 24.SPI 帮忙工具类
  • 25. 计时器辅助工具类
  • 26. 常见拓展工具类
  • 27. 内存缓存工具类
  • 28. 革除操作工具类
  • 29. 编解码相干工具类
  • 30. 反射相干工具类
  • 31. 资源相干工具类
  • 32.Snackbar 工具类
  • 33. 转化相干工具类
  • 34. 全局异样捕捉工具
  • 35. 解析数据工具类
  • 36. 字节转化工具类
  • 40. 其余相干工具类

00. 该库阐明

00.1 该库工具类汇总

工具类 性能阐明
EventBusService bus 事件告诉工具类,实现了订阅者模式。用于组件之间通信
CalculateUtils 计算文本的宽,高
ColorUtils 次要是将 RGB/ARGB 转化为 16 进制字符串色彩或者 Color
DateFormats 常见中文,英文的日期工夫转化的格局。蕴含绝大多数的日期格局
DateUtils 日期工具类,获取日期工夫,各种工夫之间的转换操作
EncryptUtils 加解密工具类,次要是 md5 加密,base64 加密和解密,异或加解密等
ExtensionXxx 拓展类,蕴含 int,list,map,set,num,string 等拓展类,有大多数常见操作方法
TransformUtils 转化工具类,蕴含 int,string 转化二进制,字母大小写转化等等
ValidatorUtils 校验工具类,蕴含常见类型,图片,url,邮箱,电话,资源文件,驼峰命名等校验
ExtensionXxx 拓展类,蕴含 int,list,map,set,num,string 等拓展类,有大多数常见操作方法
TransformUtils 转化工具类,蕴含 int,string 转化二进制,字母大小写转化等等
FileUtils 文件缓存类,次要是存储和获取字符串,Map,Json 等数据,写到本地 file 文件
TransformUtils 转化工具类,蕴含 int,string 转化二进制,字母大小写转化等等
AppLocalizations i18 相干,能够设置 locale,获取语言中字符串
ImageUtils 图片工具类,次要是负责图片和 base64 转化,加载网络图片,切换圆角,圆形等
JsonUtils json 转化工具类,次要是负责 list,map,对象和 json 之间转化等
get_it spi 接口实现,将接口(形象基类)与具体实现拆散和解耦合
LogUtils 日志工具类,设置日志开关,长度,以及能够过滤标签,打印 5 种类型日志
NumUtils Num 格局工具类,次要是负责 num 相干解决和转化操作
ObjectUtils Object 超类工具类,负责各种对象判断,获取长度等操作
RegexConstants 常见正则表达式的规定常量,这部分次要参考 AndroidUtils
RegexUtils 正则表达式工具类,次要是电话,身份证,邮箱,ip,网络等校验
ScreenUtils 屏幕工具类,获取屏幕的宽高,以及像素密度比等
SpUtils sp 存储工具类,适宜存储轻量级数据,不倡议存储 json 长字符串
TextUtils 文本工具类,次要解决字符串缩略,*,比拟,移除等操作
TimerUtils 倒计时器工具类,设置倒计时总工夫,间隔时间,开始暂停等
UrlUtils url 工具类,获取 url 的 host,参数,校验等操作
SystemUtils 零碎工具类,复制内容到剪切板,弹出和敞开软键盘,革除数据等
OtherUtils RandomUtils 随机工具类,SnackUtils,PlatformUtils 平台工具类
MVP Flutter 版本的 MVP 架构模版,待欠缺中……

00.2 如何应用该库

  • 具体文档能够 demo

01. 事件告诉 bus 工具类

  • 事件总线

    • 通常实现了订阅者模式,订阅者模式蕴含发布者和订阅者两种角色。
  • 第一种形式:应用 map 汇合存储 key 为事件 eventName,value 为 EventCallback 实现 bus

    // 注册监听 bus
    _subscription = EventBusService.instance.eventBus.on<EventMessage>().listen((event) {
          String name = event.eventName;
          // 前后台切换产生了变动
          if (name == "eventBus1") {var busMessage = event.arguments["busMessage"];
            setState(() {message1 = busMessage;});
          }
        });
    
    // 发送音讯
    EventBusService.instance.eventBus.fire(EventMessage(
      "eventBus1",
      arguments: {"busMessage": "发送 bus 音讯 1"},
    ));
    
    // 页面销毁革除 bus
    if (_subscription != null) {_subscription.cancel();
      _subscription = null;
    }
  • 第二种形式:应用 StreamController 实现 bus 事件告诉

    // 注册监听音讯
    bus.on("eventBus2", (arg) {
      var busMessage = arg;
      setState(() {message2 = "接管音讯:" + busMessage;});
    });
    
    // 发送音讯
    var arg = "发送 bus 音讯 1";
    bus.emit("eventBus2", arg);
    
    // 移除音讯
    bus.off("eventBus2", (arg) {});

02. 色彩 Color 工具类

  • 色彩 Color 工具类。次要是将 RGB 或者 ARGB 色彩转化为 Color 对象,16 进制色彩字符串等等。

    hexToColor                               : 将 #A357D6 色彩转化为 16 进制的 Color
    toColor                                  : 将 #FF6325 色彩或者#50A357D6 转化为 16 进制的 Color
    colorString                              : 将 color 色彩转变为字符串
    colorString                              : 查看字符串是否为十六进制

03. 日期转化工具类

  • 日期转化工具类。次要是获取以后日期,按指定格局格式化工夫,以及多种格式化日期工具办法

    getNowDateTime                           : 获取以后日期返回 DateTime
    getYesterday                             : 获取昨天日期返回 DateTime
    getNowUtcDateTime                        : 获取以后日期返回 DateTime(utc)
    getNowDateTimeFormat                     : 获取以后日期,返回指定格局
    getUtcDateTimeFormat                     : 获取以后日期,返回指定格局
    isYesterday                              : 依据工夫判断是否是昨天
    getNowDateMs                             : 将 #获取以后毫秒值,返回 int
    getNowDateString                         : 获取当初日期字符串,默认是:yyyy-MM-dd HH:mm:ss,返回字符串
    formatDate                               : 格式化工夫,第一个字段是 dateTime,第二个可选项示意格局
    formatDateString                         : 格式化日期字符串,第一个字段例如:'2021-07-18 16:03:10',第二个字段例如:"yyyy/M/d HH:mm:ss"
    formatDateMilliseconds                   : 格式化日期毫秒工夫,第一个字段例如:1213423143312,第二个字段例如:"yyyy/M/d HH:mm:ss"
    getWeekday                               : 获取 dateTime 是星期几
    getWeekdayByMilliseconds                 : 获取毫秒值对应是星期几
    isToday                                  : 依据工夫戳判断是否是明天
    isYesterday                              : 依据工夫判断是否是昨天

04.File 文件工具类

4.1 文件存储工具类

  • 文件存储工具类。次要是存储和获取 String,Json 等文件,这个是存储到 file 本地文件

    getTempDir                               : 获取一个长期目录(缓存),零碎能够随时革除
    getAppDocDir                             : 获取应用程序的目录,用于存储只有它能够拜访的文件。只有当应用程序被删除时,零碎才会革除目录。getAppFile                               : 初始化文件门路,默认选中应用程序的目录
    readStringDir                            : 获取存在文件中的数据,默认读到应用程序的目录
    writeJsonFileDir                         : 写入 json 文件,默认写到应用程序的目录
    writeStringDir                           : 利用文件存储字符串,默认写到应用程序的目录
    clearFileDataDir                         : 革除缓存数据
    deleteFileDataDir                        : 删除缓存文件
    writeJsonCustomFile                      : 写入 json 文件,自定义门路
    writeStringFile                          : 利用文件存储字符串,自定义门路
    readStringCustomFile                     : 获取自定义门路文件存中的数据

4.2 文件管理工具类

  • 文件管理工具类。次要是创立不同的目录门路,创立文件,或者目录门路等操作。

    getTempPath                              : 获取设施上长期目录的门路,该目录没有备份,适宜存储下载文件的缓存。getAppDocPath                            : 获取应用程序的目录,用于存储只有它能够拜访的文件。只有当应用程序被删除时,零碎才会革除目录。getStoragePath                           : 应用程序能够拜访顶层存储的目录的门路
    createDirSync                            : 异步创立文件
    createDir                                : 同步创立文件
    createTempDir                            : 创立长期目录
    createAppDocDir                          : 创立获取应用程序的目录

05.Sql 数据库工具类

  • 待欠缺

06.Json 转化工具类

  • Json 转化工具类。json 转化常见的操作,逐步完善 list,map 和 json 字符串互转等。

    printJson                                : 单纯的 Json 格局输入打印
    printJsonEncode                          : 单纯的 Json 格局输入打印
    encodeObj                                : 将对象 [值] 转换为 JSON 字符串
    getObj                                   : 转换 JSON 字符串到对象
    getObject                                : 转换 JSON 字符串或 JSON 映射 [源] 到对象
    getObjList                               : 转换 JSON 字符串列表 [源] 到对象列表
    getObjectList                            : 转换 JSON 字符串或 JSON 映射列表 [源] 到对象列表

07.Log 日志打印工具类

  • Log 日志打印工具类。五种不同类型日志,还能够增加 tag 标签过滤。

    init                                     : 初始化日志,自定义 tag,是否是 debug 环境,日志最大长度,这几个字段都是非必选
    d                                        : 打印 debug 日志
    e                                        : 打印 error 日志
    v                                        : 打印 v 日志
    i                                        : 打印 info 日志
    w                                        : 打印 ware 正告日志

08. 屏幕参数工具类

  • 屏幕参数工具类。获取屏幕的宽,高,像素密度,状态栏等属性。前期欠缺适配工作……

    screenWidthDp                            : 以后设施宽度 dp
    screenHeightDp                           : 以后设施高度 dp
    pixelRatio                               : 设施的像素密度
    screenWidth                              : 以后设施宽度 px = dp * 密度
    screenHeight                             : 以后设施高度 px = dp * 密度
    
    statusBarHeight                          : 状态栏高度 dp 刘海屏会更高
    bottomBarHeight                          : 底部安全区间隔 dp
    textScaleFactory                         : 像素的字体像素数,字体的缩放比例

09.Sp 轻量存储工具类

  • sp 轻量级存储工具。次要是 sp 存储和获取 int,String,list,map 等数据操作。

    init                                     : 初始化,必须要初始化
    hasKey                                   : 判断是否存在 key 的数据
    putObject                                : 存储 object 类型数据
    getObject                                : 获取 sp 中 key 的 map 数据
    putObjectList                            : 存储 sp 中 key 的 list 汇合
    getObjectList                            : 获取 sp 中 key 的 list 汇合
    getString                                : 获取 sp 中 key 的字符串
    putString                                : 存储 sp 中 key 的字符串
    getBool                                  : 获取 sp 中 key 的布尔值
    putBool                                  : 存储 sp 中 key 的布尔值
    getInt                                   : 获取 sp 中 key 的 int 值
    putInt                                   : 存储 sp 中 key 的 int 值
    getDouble                                : 获取 sp 中 key 的 double 值
    putDouble                                : 存储 sp 中 key 的 double 值
    getStringList                            : 获取 sp 中 key 的 list<String> 值
    putStringList                            : 存储 sp 中 key 的 list<String> 值
    getStringMap                             : 获取 sp 中 key 的 map 值
    putStringMap                             : 存储 sp 中 key 的 map 值
    getDynamic                               : 获取 sp 中 key 的 dynamic 值
    getKeys                                  : 获取 sp 中所有的 key
    remove                                   : 移除 sp 中 key 的值
    clear                                    : 革除 sp
    isInitialized                            : 查看初始化
    forEach                                  : 遍历打印 sp 的 key 和 value

11. 加密和解密工具类

  • 加密和解密工具类。目前反对 base64 加解密,md5 加密。前期逐步完善更多加密办法……

    encodeMd5                                : md5 加密字符串,这种是不可逆的
    encodeBase64                             : Base64 加密字符串
    decodeBase64                             : Base64 解密字符串
    xorBase64Encode                          : 异或对称 Base64 加密
    xorBase64Decode                          : 异或对称 Base64 解密

12.Num 格局解决工具类

  • 格局解决工具类。次要是解决 num 格局转化相干操作。

    isNum                                    : 查看字符串是 int 还是 double
    getIntByValueString                      : 将数字字符串转 int。如果字符串不是数字,则转化为 0
    getDoubleByValueString                   : 数字字符串转 double。如果字符串不是数字,则转化为 0
    getNumByValueString                      : 将数字字符串转 num,数字保留 x 位小数
    getNumByValueDouble                      : 浮点数字保留 x 位小数
    addNum                                   : 两个数相加(避免精度失落)subtractNum                              : 两个数相减(避免精度失落)multiplyNum                              : 两个数相乘(避免精度失落)divideNum                                : 两个数相除(避免精度失落)addDecString                             : 两个数相加(避免精度失落)subtractDecString                        : 两个数相减(避免精度失落)multiplyDecString                        : 两个数相乘(避免精度失落)divideDecString                          : 两个数相除(避免精度失落)

14. 图片解决工具类

  • 其余待欠缺,补充圆角,圆形切割图片,以及解决本地等图片的办法。前期欠缺获取图片属性,图片压缩,各种切圆角办法。

    base64ToImage                            : 将 base64 流转化为图片
    fileToBase64                             : 将图片 file 转化为 base64
    networkImageToBase64                     : 将网络链接图片转化为 base64
    assetImageToBase64                       : 将 asset 图片转化为 base64
    showNetImageWh                           : 加载网络图片,并且指定宽高大小。应用默认预加载 loading 和谬误视图
    showNetImageWhError                      : 加载网络图片,并且指定宽高大小。传入谬误视图
    showNetImageWhPlaceError                 : 加载网络图片,并且指定宽高大小。传入预加载,谬误视图
    showNetImageWhClip                       : 加载网络图片,并且指定宽高大小,切割圆角
    showNetImageCircle                       : 加载网络图片,切割圆形图片

15. 网络解决工具类

15.1 网络申请工具类

15.2 Url 解析工具类

  • 解决 url 解析相干工具类

    containsTarget                           : 判断 url 链接是否蕴含参数
    getFirstPath                             : 获取 url 中第一个参数
    getUrlHost                               : 获取 url 链接中 host
    getUrlScheme                             : 获取 url 链接中 scheme
    getFirstPath                             : 获取 url 中第一个参数
    isURL                                    : 返回输出是否匹配 url 的正则表达式

16. 罕用正则工具类

  • 罕用正则表达式,借鉴 AndroidUtils 工具类,将 java 转为 dart

    isMobileSimple                           : 简略验证手机号
    isMobileExact                            : 准确验证手机号
    isTel                                    : 验证电话号码
    isIDCard15                               : 验证身份证号码 15 位
    isIDCard18                               : 简略验证身份证号码 18 位
    isIDCard18Exact                          : 准确验证身份证号码 18 位
    isEmail                                  : 验证邮箱
    isURL                                    : 验证 URL
    isZh                                     : 验证汉字
    isUsername                               : 验证用户名
    isDate                                   : 验证 yyyy-MM-dd 格局的日期校验,已思考平平年
    isIP                                     : 验证 IP 地址
    match                                    : 判断是否匹配正则
    RegexConstants.REGEX_DOUBLE_BYTE_CHAR    : 双字节
    RegexConstants.REGEX_BLANK_LINE          : 空行
    RegexConstants.REGEX_QQ_NUM              : QQ 号
    RegexConstants.REGEX_CHINA_POSTAL_CODE   : 邮编
    RegexConstants.REGEX_INTEGER             : 整数
    RegexConstants.REGEX_POSITIVE_INTEGER    : 正整数
    RegexConstants.REGEX_NEGATIVE_INTEGER    : 负整数
    RegexConstants.REGEX_NOT_NEGATIVE_INTEGER: 非负整数
    RegexConstants.REGEX_NOT_POSITIVE_INTEGER: 非正整数
    RegexConstants.REGEX_FLOAT               : 浮点数
    RegexConstants.REGEX_POSITIVE_FLOAT      : 正浮点数
    RegexConstants.REGEX_NEGATIVE_FLOAT      : 负浮点数
    RegexConstants.REGEX_NOT_NEGATIVE_FLOAT  : 非负浮点数
    RegexConstants.REGEX_NOT_POSITIVE_FLOAT  : 非正浮点数

17.Object 常用工具类

  • Object 相干工具类如下:

    isNull                                   : 判断对象是否为 null
    isNullOrBlank                            : 检查数据是否为空或空(空或只蕴含空格)
    isEmptyString                            : 判断字符串是否为空
    isEmptyList                              : 判断汇合是否为空
    isEmptyMap                               : 判断字典是否为空
    isEmpty                                  : 判断 object 对象是否为空
    isNotEmpty                               : 判断 object 是否不为空
    compareListIsEqual                       : 比拟两个汇合是否雷同
    getLength                                : 获取 object 的长度

18. 验证相干工具类

  • 验证相干工具类

    isNumericOnly                            : 查看字符串是否只蕴含数字
    isAlphabetOnly                           : 查看字符串是否只蕴含字母。(没有空格)
    isBool                                   : 查看字符串是否为布尔值
    isVector                                 : 查看 string 是否为 vector 文件
    isImage                                  : 查看字符串是否为图像文件
    isAudio                                  : 查看字符串是否为音频文件
    isVideo                                  : 查看字符串是否为视频文件
    isTxt                                    : 查看字符串是否为 txt 文本文件
    isDocument                               : 查看字符串是否为 doc 文件
    isExcel                                  : 查看字符串是否为 excel 文件
    isPPT                                    : 查看字符串是否为 ppt 文件
    isAPK                                    : 查看字符串是否为 apk 文件
    isPDF                                    : 查看字符串是否为 pdf 文件
    isHTML                                   : 查看字符串是否为 html 文件
    isURL                                    : 查看字符串是否为 url 文件
    isEmail                                  : 查看字符串是否为 email 文件
    isDateTime                               : 查看字符串是否为工夫
    isMD5                                    : 查看字符串是否为 md5
    isSHA1                                   : 查看字符串是否为 sha1
    isSHA256                                 : 查看字符串是否为 sha256
    isIPv4                                   : 查看字符串是否为 ipv4
    isIPv6                                   : 查看字符串是否为 ipv6
    isPalindrome                             : 查看字符串是否为回文
    isCaseInsensitiveContains                : 查看 a 是否蕴含 b(将大小写字母视为雷同或解释)。isCaseInsensitiveContainsAny             : 查看 a 中是否蕴含 b 或 b 中是否蕴含 a(将大小写字母视为雷同)。isCamelCase                              : 查看字符串值是否驼峰大小写
    isCapitalize                             : 查看字符串值是否大写

19. 路由管理工具类

21.Text 文本工具类

  • 文本相干工具类如下:

    isEmpty                                  : 判断文本内容是否为空
    isNotEmpty                               : 判断文本内容是否不为空
    startsWith                               : 判断字符串是以 xx 结尾
    contains                                 : 判断字符串中是否蕴含 xx
    abbreviate                               : 应用点缩写字符串
    compare                                  : 比拟两个字符串是否雷同
    hammingDistance                          : 比拟两个长度一样的字符串有几个字符不同
    formatDigitPattern                       : 每隔 x 位 加 pattern。比方用来格式化银行卡
    formatSpace4                             : 每隔 4 位加空格
    hideNumber                               : 暗藏手机号两头 n 位,比方暗藏手机号 13667225184 为 136****5184
    replace                                  : 替换字符串中的数据
    split                                    : 依照规定切割字符串,返回数组
    reverse                                  : 反转字符串

22.i18 拓展工具类

  • LocatizationExtensionState 类中:String getString(String id)

    • 获取不同 Locales 渠道语言内容。举例:应用:var name = context.getString(“name”);
  • LocatizationExtensionContext 类中:String getString(String id)

    • 获取不同 Locales 渠道语言内容
  • 如何增加不同渠道语言内容。写在 main 函数中 runApp 之前

    AppLocalizations.supportedLocales = [const Locale('en', 'US'),
        const Locale('pt', 'BR'),
        const Locale('ja', 'JP'),
        const Locale('zh', 'CN'),
    ];

23.Time 工夫工具类

24.SPI 帮忙工具类

  • spi 简略介绍

    • Service Locator 能够将接口(形象基类)与具体实现拆散和解耦合,同时容许通过接口从 App 中的任何地位拜访具体实现。

      // 第一步注册
      GetIt serviceLocator = GetIt.instance;
      getIt.registerSingleton<BusinessService>(new BusinessServiceImpl());
      
      // 第二步应用
      BusinessService businessService = serviceLocator<BusinessService>();
      businessService.noneBusinessPattern();
      
      // 第三步解绑
      serviceLocator.resetLazySingleton<BusinessService>();

25. 计时器辅助工具类

  • 计时器辅助工具类

    TimerUtils                               : 创立倒计时器
    setTotalTime                             : 设置倒计时总工夫
    setInterval                              : 设置 Timer 距离
    startTimer                               : 启动定时 Timer
    updateTotalTime                          : 重设倒计时总工夫
    isActive                                 : 判断 Timer 是否启动
    pauseTimer                               : 暂停倒计时器
    cancel                                   : 勾销计时器
    setOnTimerTickCallback                   : 设置倒计时器的监听

26. 常见拓展工具类

26.1 int 拓展类:ExtensionInt

  • ExtensionInt 拓展类

    isPalindrome                             : 查看 int 是否为回文
    isOneAKind                               : 查看所有数据是否具备雷同的值
    toBinary                                 : 转换 int 值为二进制
    toBinaryInt                              : 转换 int 值为二进制 int
    fromBinary                               : 转换 int 值为二进制字符串

26.2 List 拓展类:ExtensionList

  • ExtensionList 拓展类

    toJsonString                             : 将 list 转化为 json 字符串
    getJsonPretty                            : 将 list 转化为 json 字符串,换行
    valueTotal                               : 获取 num 列表的总值(int/double)
    isNull                                   : 判断对象是否为 null
    isNullOrBlank                            : 检查数据是否为空或空(空或只蕴含空格)

26.3 Map 拓展类:ExtensionMap

  • ExtensionMap 拓展类【set 拓展类同理】

    toJsonString                             : 将 map 转化为 json 字符串
    getJsonPretty                            : 将 map 转化为 json 字符串换行
    isNull                                   : 判断对象是否为 null
    isNullOrBlank                            : 检查数据是否为空或空(空或只蕴含空格)

26.4 String 拓展类:ExtensionString

  • ExtensionString 拓展类

    isNull                                   : 判断对象是否为 null
    isNullOrBlank                            : 检查数据是否为空或空(空或只蕴含空格)
    isNumericOnly                            : 查看字符串是否只蕴含数字
    isAlphabetOnly                           : 查看字符串是否只蕴含字母。(没有空格)
    isBool                                   : 查看字符串是否为布尔值
    isVector                                 : 查看 string 是否为 vector 文件
    isImage                                  : 查看字符串是否为图像文件
    isAudio                                  : 查看字符串是否为音频文件
    isVideo                                  : 查看字符串是否为视频文件
    isTxt                                    : 查看字符串是否为 txt 文本文件
    isDocument                               : 查看字符串是否为 doc 文件
    isExcel                                  : 查看字符串是否为 excel 文件
    isPPT                                    : 查看字符串是否为 ppt 文件
    isAPK                                    : 查看字符串是否为 apk 文件
    isPDF                                    : 查看字符串是否为 pdf 文件
    isHTML                                   : 查看字符串是否为 html 文件
    isURL                                    : 查看字符串是否为 url 文件
    isEmail                                  : 查看字符串是否为 email 文件
    isDateTime                               : 查看字符串是否为工夫
    isMD5                                    : 查看字符串是否为 md5
    isSHA1                                   : 查看字符串是否为 sha1
    isSHA256                                 : 查看字符串是否为 sha256
    isIPv4                                   : 查看字符串是否为 ipv4
    isIPv6                                   : 查看字符串是否为 ipv6
    isPalindrome                             : 查看字符串是否为回文
    isCaseInsensitiveContains                : 查看 a 是否蕴含 b(将大小写字母视为雷同或解释)。isCaseInsensitiveContainsAny             : 查看 a 中是否蕴含 b 或 b 中是否蕴含 a(将大小写字母视为雷同)。isCamelCase                              : 查看字符串值是否驼峰大小写
    isCapitalize                             : 查看字符串值是否大写

33. 转化相干工具类

  • 转化相干的操作工具类

    toBinary                                 : 转换 int 值为二进制,比方:15 => 1111
    toBinaryInt                              : 转换 int 值为二进制
    fromBinary                               : 转换二进制为 int 值
    capitalize                               : 字符串内的每个单词都要大写
    capitalizeFirst                          : 字符串的首字母大写,其余字母小写
    removeAllWhitespace                      : 删除字符串内的所有空格
    numericOnly                              : 提取字符串的数值

34. 全局异样捕捉工具

  • 针对 flutter 全局异样捕捉,能够应用:handle_exception

    // 如果应用,在 main 办法中,如下所示:hookCrash(() {runApp(MainApp());
    });
  • 捕捉一场打印输出:

    I/flutter (9506): yc e  — — — — — — — — — — st — — — — — — — — — — — — —
    I/flutter (9506): yc e | handle_exception :  e---->MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_
    I/flutter (9506): yc e | preferences)
    I/flutter (9506): yc e  — — — — — — — — — — ed — — — — — — — — — ---— —
    I/flutter (9506): yc e  handle_exception :  stack---->

35. 解析数据工具类

  • 解析 xml/html 数据工具类

36. 字节转化工具类

  • ByteUtils 转化相干的操作工具类

    toBinary                                 : 转换 int 值为二进制
    toReadable                               : 将字节数组转换为可读字符串
    toBase64                                 : 将字节数组转换为 base64 字符串
    fromBase64                               : 转换 base64 字符串到字节数组
    clone                                    : 克隆字节数组
    same                                     : 判断两个字节是否雷同
    extract                                  : 从字节序列中提取数据
    combine                                  : 将两个字节拼接
    insert                                   : 在字节某个索引处插入字节
    remove                                   : 在字节某个索引处移除字节

40. 其余相干工具类

40.2 随机工具类

  • RandomUtils

    randomColor                              : 生成一个示意十六进制色彩的随机整数
    randomString                             : 生成指定长度或随机长度的随机字符串
    randInt                                  : 在开始和完结之间生成一个随机数
    randomElement                            : 从列表中返回一个随机元素

40.3 获取平台工具类

  • PlatformUtils。该工具类能够通过获取平台,而后设置一个 value 区别平台信息。

    final value = PlatformUtils.select(
      ios: "ios",
      android: "android",
      web: "web",
      fuchsia: "fuchsia",
      macOS: () => "macOS",
      windows: () => "windows",
      linux: () => "linux",);
    
    // 后果,在 Android 设施上,value 就是:android

40.4 剪切板工具类

  • 零碎工具类,次要是软键盘操作和复制内容到剪切板

    copyToClipboard                          : 拷贝文本内容到剪切板
    hideKeyboard                             : 暗藏软键盘,具体可看:TextInputChannel
    showKeyboard                             : 展现软键盘
    clearClientKeyboard                      : 革除数据

我的项目地址:https://github.com/yangchong2…

退出移动版