Flutter通用工具插件common_utilities的使用
Flutter通用工具插件common_utilities的使用
一个Dart语言的通用工具包,它可以使你的代码更快、更简单、更整洁。该工具包包含了大量的对Dart基础类型(支持所有Flutter平台)有用的函数。
特性
- 字符串:超过30个有用的字符串实用函数。
待办事项(下一版本)
- 添加数字(int, double, num, BigInt)实用函数。
- 添加布尔值(bool)实用函数。
- 添加列表(List)实用函数。
备注
版本 0.1.1:仅包含字符串实用函数。
使用方法
在pubspec.yaml
文件中添加以下依赖项:
dependencies:
common_utilities: ^0.1.1
或者在命令行中输入:
flutter pub add common_utilities
字符串实用函数
包括超过30个有用的字符串函数,如:
- subStringBetween
- subStringsBetween
- subStringAfter
- subStringBefore
- insertAt
- removeAt
- insertAfter
- insertAfterEvery
- removeAfter
- removeBefore
- isNumericInt
- isNumericDouble
- isAlphabetic
- isUpperCase
- isAlphaNumeric
- isBlank
- isContainSpecialChar
- isValidCharacters
- convertEnglishNumberToPersian
- convertPersianNumberToEnglish
- convertToMoneyFormat
- countWords
- countLines
- reverse
- reverseWords
- removeBlankLines
- removeLinesThatContain
- isEmail
- convertToBase64
- convertBase64ToString
- convertToUTF8
- wrap
- isValidUrl
如何使用
示例:StringUtils 的用法
import 'package:common_utilities/common_utilities.dart';
void main() {
String yourStr = 'If you want something you have never had you must do something you have never done';
// 获取 'want' 和 'never' 之间的子字符串
String result = yourStr.stringUtils().subStringBetween('want', 'never');
// 输出结果为 'something you have'
// 获取 'you' 和 'never' 之间的所有子字符串
List<String> result2 = yourStr.stringUtils().subStringsBetween('you', 'never');
// 输出结果为 ['something you have', 'must do something you have']
// 获取 'something' 后面的所有字符
String result3 = yourStr.stringUtils().subStringAfter('something');
// 输出结果为 'you have never had you must do something you have never done'
// 获取 'something' 后面的所有字符,从最后一个 'something' 开始
bool lastIndex = true; // 这是一个可选参数,默认为 false
String result4 = yourStr.stringUtils().subStringAfter('something', lastIndex);
// 输出结果为 'you have never done'
// 生成一个随机字符串
String str = CommonUtils.getRandomString(10);
// 输出结果为类似 'btorklcvxw' 的字符串
}
更多关于Flutter通用工具插件common_utilities的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter通用工具插件common_utilities的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,common_utilities
是一个假想的 Flutter 插件名称,用于说明通用工具函数的使用。在实际 Flutter 开发中,可能没有一个确切名为 common_utilities
的官方插件,但我们可以构想一个包含常用工具函数的插件,并展示如何使用它。
假设我们有一个自定义的 common_utilities
插件,它包含了一些常用的工具函数,比如字符串处理、日期格式化、设备信息获取等。下面是一个简单的实现示例以及如何在 Flutter 应用中使用它。
1. 自定义 common_utilities
插件(伪代码)
首先,我们需要在插件中定义这些工具函数。在实际开发中,这通常涉及创建一个 Flutter 插件项目,并编写 Dart 代码。
lib/common_utilities.dart
library common_utilities;
import 'dart:convert';
import 'dart:ui' as ui;
import 'package:flutter/foundation.dart';
import 'package:intl/intl.dart';
class CommonUtilities {
// 字符串处理:首字母大写
static String capitalizeFirstLetter(String input) {
if (input == null || input.isEmpty) return input;
return '${input[0].toUpperCase()}${input.substring(1)}';
}
// 日期格式化
static String formatDate(DateTime date, String pattern) {
return DateFormat(pattern).format(date);
}
// 获取设备信息:屏幕大小
static Size getScreenSize() {
return ui.window.physicalSize / ui.window.devicePixelRatio;
}
// JSON字符串转Map
static Map<String, dynamic> jsonToMap(String jsonString) {
return jsonDecode(jsonString) as Map<String, dynamic>;
}
}
2. 在 Flutter 应用中使用 common_utilities
插件
接下来,我们需要在 Flutter 应用中引入并使用这个插件。
pubspec.yaml
首先,在 pubspec.yaml
文件中添加对 common_utilities
插件的依赖(假设它已发布到 pub.dev)。但在这个例子中,因为它是自定义的,我们需要通过本地路径引入。
dependencies:
flutter:
sdk: flutter
common_utilities:
path: ../path/to/common_utilities # 替换为实际路径
lib/main.dart
然后,在 main.dart
文件中使用这些工具函数。
import 'package:flutter/material.dart';
import 'package:common_utilities/common_utilities.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Common Utilities Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Capitalized: ${CommonUtilities.capitalizeFirstLetter("hello world")}',
style: TextStyle(fontSize: 20),
),
SizedBox(height: 20),
Text(
'Formatted Date: ${CommonUtilities.formatDate(DateTime.now(), "yyyy-MM-dd HH:mm:ss")}',
style: TextStyle(fontSize: 20),
),
SizedBox(height: 20),
Text(
'Screen Size: ${CommonUtilities.getScreenSize()}',
style: TextStyle(fontSize: 20),
),
],
),
),
),
);
}
}
注意事项
- 插件开发:在实际开发中,创建和发布 Flutter 插件需要遵循 Flutter 插件开发的官方指南。
- 依赖管理:如果插件已发布到 pub.dev,则只需在
pubspec.yaml
中添加依赖项的名称和版本号即可。 - 错误处理:在生产代码中,应添加适当的错误处理,以确保工具函数的健壮性。
以上示例展示了如何构想和实现一个自定义的 common_utilities
插件,并在 Flutter 应用中使用它。希望这对你有所帮助!