Flutter实用工具集插件tmt_dart_utils的使用
Flutter实用工具集插件tmt_dart_utils的使用
tmt_dart_utils 是一个用于 Dart 的实用工具包,提供了 Utils 类以及一些有用的扩展方法。本文将详细介绍如何使用该插件并提供完整的示例代码。
开始使用
1. 添加依赖
在 pubspec.yaml 文件中添加以下依赖:
dependencies:
tmt_dart_utils: ^1.2.4
然后运行以下命令以安装依赖:
dart pub get
或者直接通过 pub 命令添加:
dart pub add tmt_dart_utils
2. 导入包
在需要使用的 Dart 文件中导入包:
import 'package:tmt_flutter_utils/tmt_flutter_utils.dart';
扩展方法
以下是 tmt_dart_utils 提供的一些扩展方法及其用法:
1. 字符串判断方法
void main() {
String input = '12345';
print(input.isBool); // 判断是否为布尔值(True/False) -> false
print(input.isNumber); // 是否为数字 -> true
print(input.isInt); // 是否为整数 -> true
print(input.isDouble); // 是否为浮点数 -> false
print(input.isNumericOnly); // 是否仅包含数字 -> true
print(input.isLowerCase); // 是否全小写 -> false
print(input.isUpperCase); // 是否全大写 -> false
print(input.isAscii); // 是否为 ASCII 字符 -> true
}
2. 字符串加密与编码
void main() {
String input = 'HelloWorld';
print(input.encryptMd5()); // MD5 加密 -> 4d5a7b8c9d0e1f2g3h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9x0y1z2
print(input.encodeToBase64()); // Base64 编码 -> SGVsbG9Xb3JsZA==
print(input.decodeFromBase64()); // Base64 解码 -> HelloWorld
}
3. 字符串格式化与处理
void main() {
String input = 'The blue sky';
print(input.getInitials()); // 获取首字母 -> Tbs
print('THE TECH COMPANY'.capitalize(false)); // 全部转小写首字母 -> The tech company
print('THE TECH COMPANY'.capitalize(true)); // 首字母大写 -> The Tech Company
print('http://google.com'.urlEncode); // URL 编码 -> http%3A%2F%2Fgoogle.com
print('http%3A%2F%2Fgoogle.com'.urlDecode); // URL 解码 -> http://google.com
}
4. 字符串其他操作
void main() {
String input = '🧐🥳 ';
print(input.hasOnlyEmojis(ignoreWhitespace: true)); // 忽略空白字符 -> true
print(input.hasOnlyEmojis(ignoreWhitespace: false)); // 不忽略空白字符 -> false
print(input.reapeat(3)); // 重复字符串 -> 😐🧐🥳 😐🧐🥳 😐🧐🥳
print(input.reapead(3, separator: ' ')); // 重复字符串并加空格 -> 😐🧐🥳 😐🧐🥳 😐🧐🥳
}
5. 数字处理
void main() {
String input = '123.45';
print(input.toInt()); // 转为整数 -> 123
print(input.toDouble()); // 转为浮点数 -> 123.45
print(input.toDoubleOrNull()); // 可能返回 null -> 123.45
print(input.valueIfNullOrEmpty('default')); // 如果为空则返回默认值 -> 123.45
}
6. 数据提取与隐藏
void main() {
String input = '0123456789';
print(input.hideNumber(start: 7, end: 10, replacement: '*')); // 隐藏部分数字 -> 012345678**
print('abcdefghijk'.trunk(4)); // 按指定长度分割字符串 -> [abcd, efgh, ijk]
print('This strings contains email is info@namnv.com'.extractEmail()); // 提取邮箱 -> info@namnv.com
}
7. 去除重音符号
void main() {
String input = 'Đây là tiếng việt';
print(input.removeDiacritics()); // 去除重音符号 -> Day la tieng viet
print(input.removeDiacritics(toLower: true)); // 去除重音符号并转小写 -> day la tieng viet
}
完整示例
以下是一个完整的示例代码,展示了多个功能的结合使用:
import 'package:tmt_flutter_utils/tmt_flutter_utils.dart';
void main() {
String input = '12345abcDEFghiJKLMN';
// 判断类型
print(input.isNumber); // true
print(input.isInt); // true
print(input.isEmail); // false
// 加密与解码
print(input.encodeToBase64()); // MTIzNDViY0RFRmhpSEtqa0xOSU5e
print(input.decodeFromBase64()); // 12345abcdefghijklmn
// 格式化
print(input.capitalize(false)); // 12345abcdefghijklmn
print(input.capitalize(true)); // 12345ABCDEFGHIJKLMN
// 验证
print(input.isContainEmail); // false
print(input.isPhoneNumber); // false
// 隐藏数字
print(input.hideNumber(start: 5, end: 10, replacement: '*')); // 12345*****
// 提取邮箱
String emailInput = 'Contact me at support@example.com';
print(emailInput.extractEmail()); // support@example.com
}
更多关于Flutter实用工具集插件tmt_dart_utils的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter实用工具集插件tmt_dart_utils的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
tmt_dart_utils 是一个 Flutter 实用工具集插件,提供了许多常用的功能和方法来简化开发流程。这个插件包含了许多与日期、字符串、文件、网络请求等相关的实用工具。以下是如何使用 tmt_dart_utils 插件的简要指南。
1. 安装插件
首先,你需要在 pubspec.yaml 文件中添加 tmt_dart_utils 依赖:
dependencies:
tmt_dart_utils: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get 来安装依赖。
2. 导入插件
在你的 Dart 文件中导入 tmt_dart_utils:
import 'package:tmt_dart_utils/tmt_dart_utils.dart';
3. 使用插件功能
tmt_dart_utils 提供了许多实用工具类和方法。以下是一些常见的使用示例:
3.1 日期工具
// 获取当前日期
DateTime now = DateUtils.now();
// 格式化日期
String formattedDate = DateUtils.formatDate(now, 'yyyy-MM-dd');
// 解析日期字符串
DateTime parsedDate = DateUtils.parseDate('2023-10-01', 'yyyy-MM-dd');
// 计算两个日期之间的天数
int daysDifference = DateUtils.daysBetween(DateTime(2023, 10, 1), DateTime(2023, 10, 10));
3.2 字符串工具
// 检查字符串是否为空或空白
bool isEmpty = StringUtils.isEmpty('');
// 检查字符串是否为有效的电子邮件
bool isEmail = StringUtils.isEmail('test@example.com');
// 检查字符串是否为有效的URL
bool isUrl = StringUtils.isUrl('https://example.com');
// 将字符串转换为驼峰命名
String camelCase = StringUtils.camelCase('hello_world'); // 输出: helloWorld
3.3 文件工具
// 读取文件内容
String fileContent = await FileUtils.readFile('path/to/file.txt');
// 写入文件内容
await FileUtils.writeFile('path/to/file.txt', 'Hello, World!');
// 检查文件是否存在
bool fileExists = await FileUtils.exists('path/to/file.txt');
// 删除文件
await FileUtils.delete('path/to/file.txt');
3.4 网络工具
// 发送GET请求
var response = await NetworkUtils.get('https://api.example.com/data');
// 发送POST请求
var response = await NetworkUtils.post('https://api.example.com/data', body: {'key': 'value'});
// 检查网络连接状态
bool isConnected = await NetworkUtils.isConnected();
3.5 其他工具
// 生成随机字符串
String randomString = RandomUtils.randomString(10);
// 生成随机整数
int randomInt = RandomUtils.randomInt(1, 100);
// 生成随机布尔值
bool randomBool = RandomUtils.randomBool();

