Flutter开发工具插件dart_dev_utils的使用

发布于 1周前 作者 nodeper 来自 Flutter

Flutter开发工具插件dart_dev_utils的使用

概述

dart_dev_utils 是一个为 Dart 和 Flutter 开发提供的实用函数库。它包含了许多常用的验证和转换功能,可以大大提高开发效率。以下是该库的主要功能和示例代码。

功能

函数

  • isNetworkURL: 验证是否为有效的网络 URL。
  • isEmail: 验证是否为有效的电子邮件地址。
  • isPhone: 验证是否为有效的电话号码。
  • isNumeric: 验证字符串是否为纯数字。
  • capitalize: 将字符串的第一个字母大写,其余小写。
  • capitalizeAll: 将字符串中每个单词的首字母大写。
  • getOnlyAlphabetsNumbers: 仅保留字符串中的字母和数字。
  • getOnlyNumbers: 仅保留字符串中的数字。
  • getOnlyAlphabets: 仅保留字符串中的字母。
  • removeAccents: 去除字符串中的所有重音符号。
  • getDateFromText: 从文本中提取日期。
  • passwordGenerate: 生成随机密码。
  • convertStringToNumericalBase: 将字符串转换为指定的数值基数。
  • printLog: 打印日志信息。
  • getValueFromKey: 从 Map 中获取指定键的值。
  • firstWhereMultComputation: 在集合中查找满足多个条件的第一个元素。

常量

  • regExpUrls: 用于匹配 URL 的正则表达式。
  • regExpEmails: 用于匹配电子邮件地址的正则表达式。
  • regExpDateUS: 用于匹配美国格式日期的正则表达式。
  • regExpDateBR: 用于匹配巴西格式日期的正则表达式。
  • regExpCredcardBR: 用于匹配巴西信用卡号的正则表达式。
  • regExpCpfCnpj: 用于匹配巴西 CPF 或 CNPJ 号码的正则表达式。
  • regExpCEP: 用于匹配巴西邮政编码的正则表达式。
  • regExpCellPhoneBR: 用于匹配巴西手机号码的正则表达式。
  • regExpFixePhoneBR: 用于匹配巴西固定电话号码的正则表达式。
  • regExpGlobalPhone: 用于匹配全球电话号码的正则表达式。
  • regExpOnlyAlphabetsNumbers: 用于匹配仅包含字母和数字的字符串的正则表达式。
  • regExpOnlyAlphabets: 用于匹配仅包含字母的字符串的正则表达式。
  • regExpOnlyNumbers: 用于匹配仅包含数字的字符串的正则表达式。
  • charactersWithAccent: 包含重音符号的字符集。
  • regExpAccentedCharacters: 用于匹配包含重音符号的字符的正则表达式。
  • isRunProfileMode: 判断当前是否为 Profile 模式。
  • isRunReleaseMode: 判断当前是否为 Release 模式。
  • isRunDebugMode: 判断当前是否为 Debug 模式。

其他对象

  • DataStream: 数据流处理类。
  • Disposeble: 可释放资源的接口。

示例代码

以下是一个完整的示例代码,展示了如何使用 dart_dev_utils 中的一些常用功能:

import 'package:dart_dev_utils/dart_dev_utils.dart';

void main() {
  // 验证 CPF 或 CNPJ 号码 (格式: 000.000.000-00)
  print(dartDevUtils.regExpCpfCnpj.hasMatch('000.000.000-00')); // true

  // 验证巴西手机号码 (格式: 00900000000; (00)900000000; 0090000-0000; (00)90000-0000)
  print(dartDevUtils.regExpCellPhoneBR.hasMatch('(00)900000000')); // true

  // 验证巴西固定电话号码 (格式: 0000000000; (00)00000000; 000000-0000; (00)0000-0000)
  print(dartDevUtils.regExpFixePhoneBR.hasMatch('(00)30000000')); // true

  // 将字符串的第一个字母大写
  print('suebersson montalvão'.capitalize); // Suebersson montalvão

  // 将字符串中每个单词的首字母大写
  print('suebersson montalvão'.capitalizeAll); // Suebersson Montalvão

  // 去除字符串中的所有重音符号
  print('Suebérssôn montalvão'.removeAccents); // Suebersson montalvao

  // 验证是否为有效的电子邮件地址
  print(dartDevUtils.regExpEmails.hasMatch('test@example.com')); // true

  // 验证是否为有效的 URL
  print(dartDevUtils.regExpUrls.hasMatch('https://www.example.com')); // true

  // 生成随机密码
  print(dartDevUtils.passwordGenerate(12)); // 例如: Abc123!@#

  // 将字符串转换为十六进制
  print(dartDevUtils.convertStringToNumericalBase('Hello', 16)); // 48656c6c6f

  // 打印日志信息
  dartDevUtils.printLog('This is a log message');

  // 获取当前运行模式
  if (dartDevUtils.isRunDebugMode) {
    print('Running in Debug mode');
  } else if (dartDevUtils.isRunProfileMode) {
    print('Running in Profile mode');
  } else if (dartDevUtils.isRunReleaseMode) {
    print('Running in Release mode');
  }
}

更多关于Flutter开发工具插件dart_dev_utils的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter开发工具插件dart_dev_utils的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter开发中,dart_dev_utils 是一个实用的开发工具插件,它提供了一系列有助于提升开发效率的功能。以下是如何在Flutter项目中集成和使用 dart_dev_utils 的一些代码示例。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 dart_dev_utils 的依赖:

dependencies:
  flutter:
    sdk: flutter
  dart_dev_utils: ^latest_version  # 请替换为最新的版本号

然后运行 flutter pub get 来获取依赖。

2. 导入库

在你的 Dart 文件中导入 dart_dev_utils

import 'package:dart_dev_utils/dart_dev_utils.dart';

3. 使用示例

3.1 日志工具

dart_dev_utils 提供了一个方便的日志工具,可以用来打印不同颜色的日志信息。

void main() {
  // 打印绿色日志
  DevUtils.logGreen('This is a green log');

  // 打印红色日志
  DevUtils.logError('This is an error log');

  // 打印普通日志
  DevUtils.logInfo('This is an info log');

  // 打印警告日志
  DevUtils.logWarning('This is a warning log');
}

3.2 设备信息

获取当前设备的信息,例如设备型号、操作系统版本等。

void printDeviceInfo() {
  final deviceInfo = DevUtils.getDeviceInfo();
  print('Device Model: ${deviceInfo.model}');
  print('OS Version: ${deviceInfo.version}');
}

3.3 尺寸工具

dart_dev_utils 提供了获取屏幕尺寸和密度的工具。

void printScreenInfo() {
  final screenInfo = DevUtils.getScreenInfo();
  print('Screen Width: ${screenInfo.width}');
  print('Screen Height: ${screenInfo.height}');
  print('Screen Density: ${screenInfo.density}');
}

3.4 网络工具

用于检测网络连接状态。

void checkNetworkStatus() async {
  bool isConnected = await DevUtils.isNetworkConnected();
  if (isConnected) {
    print('Device is connected to the internet.');
  } else {
    print('Device is NOT connected to the internet.');
  }
}

4. 完整示例

以下是一个完整示例,展示了如何在一个 Flutter 应用中使用 dart_dev_utils 的部分功能:

import 'package:flutter/material.dart';
import 'package:dart_dev_utils/dart_dev_utils.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Dart Dev Utils Demo'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              // 打印日志
              DevUtils.logGreen('Button pressed');

              // 打印设备信息
              final deviceInfo = DevUtils.getDeviceInfo();
              print('Device Model: ${deviceInfo.model}');
              print('OS Version: ${deviceInfo.version}');

              // 打印屏幕信息
              final screenInfo = DevUtils.getScreenInfo();
              print('Screen Width: ${screenInfo.width}');
              print('Screen Height: ${screenInfo.height}');
              print('Screen Density: ${screenInfo.density}');

              // 检查网络连接
              bool isConnected = await DevUtils.isNetworkConnected();
              if (isConnected) {
                DevUtils.logInfo('Device is connected to the internet.');
              } else {
                DevUtils.logError('Device is NOT connected to the internet.');
              }
            },
            child: Text('Check Info'),
          ),
        ),
      ),
    );
  }
}

在这个示例中,当你点击按钮时,应用将使用 dart_dev_utils 打印日志、设备信息、屏幕信息,并检查网络连接状态。

请注意,由于 dart_dev_utils 的具体功能和API可能会随着版本的更新而变化,因此建议查阅最新的官方文档或源代码以获取最准确的信息。

回到顶部