Flutter通用工具插件nian_common_utils的使用
Flutter通用工具插件nian_common_utils的使用
在本篇文档中,我们将详细介绍如何使用nian_common_utils
插件来简化Flutter应用开发。nian_common_utils
插件提供了丰富的工具类,可以帮助开发者处理各种常见任务。
念安科技-常用工具
下表列出了nian_common_utils
中包含的各种工具类及其功能:
名称 | 说明 |
---|---|
dio_uils | 网络请求 |
log_utils | 日志,包含dio美化日志 |
notify_in_app_utils | 应用内通知 |
notify_utils | 通知 |
cache_utils | 缓存(获取,清除,计算大小) |
color_utils | 颜色 |
device_utils | 设备 |
encrypt_util | 加解密 |
file_utils | 文件 |
image_utils | 图片(压缩,裁剪,保存) |
loading_utils | 加载 |
network_utils | 网络连接状态,判断,监听当前网络 |
num_utils | 数字 |
permission_utils | 权限 |
queue_utils | 队列 |
sp_utils | 数据储存 |
status_bar_utils | 状态栏 |
string_utils | 字符串 |
time_countdown | 倒计时 |
time_utils | 时间 |
timeline_util | 时间线 |
toast_utils | toast |
tutorial_utils | 新手引导 |
version_utils | 版本 |
widget_utils | 组件 |
other_utils | 其他 |
使用示例
网络请求 (dio_uils)
import 'package:nian_common_utils/utils/dio_uils.dart';
void fetchNetworkData() async {
// 创建Dio实例
var dio = DioUtils.dio;
try {
// 发起GET请求
final response = await dio.get('https://jsonplaceholder.typicode.com/todos/1');
// 打印响应数据
print(response.data);
} catch (e) {
// 捕获并打印错误信息
print(e);
}
}
日志记录 (log_utils)
import 'package:nian_common_utils/utils/log_utils.dart';
void logData() {
// 记录普通日志
LogUtils.log('This is a normal log message');
// 记录错误日志
LogUtils.error('This is an error message');
}
缓存管理 (cache_utils)
import 'package:nian_common_utils/utils/cache_utils.dart';
void manageCache() async {
// 获取缓存大小
int size = await CacheUtils.getSize();
print('Current cache size: $size bytes');
// 清除所有缓存
await CacheUtils.clearAll();
// 再次获取缓存大小
size = await CacheUtils.getSize();
print('Cache size after clearing: $size bytes');
}
通知 (notify_utils)
import 'package:nian_common_utils/utils/notify_utils.dart';
void showNotification() {
// 显示一个简单的通知
NotifyUtils.showNotification(
title: '通知标题',
body: '这是通知的内容',
);
}
文件操作 (file_utils)
import 'package:nian_common_utils/utils/file_utils.dart';
void fileOperations() async {
// 读取文件内容
String content = await FileUtils.readFile('path/to/your/file.txt');
print('File content: $content');
// 写入文件内容
await FileUtils.writeFile('path/to/your/file.txt', 'Hello, world!');
}
加密解密 (encrypt_util)
import 'package:nian_common_utils/utils/encrypt_util.dart';
void encryptDecrypt() async {
// 加密文本
String encryptedText = await EncryptUtil.encrypt('Hello, world!');
print('Encrypted text: $encryptedText');
// 解密文本
String decryptedText = await EncryptUtil.decrypt(encryptedText);
print('Decrypted text: $decryptedText');
}
图片处理 (image_utils)
import 'package:nian_common_utils/utils/image_utils.dart';
void processImage() async {
// 压缩图片
String compressedPath = await ImageUtils.compress('path/to/your/image.jpg', quality: 75);
print('Compressed image path: $compressedPath');
// 保存图片
bool saved = await ImageUtils.save(compressedPath);
print('Image saved: $saved');
}
网络状态检测 (network_utils)
import 'package:nian_common_utils/utils/network_utils.dart';
void checkNetworkStatus() {
// 监听网络状态变化
NetworkUtils.onNetworkStatusChanged.listen((status) {
print('Current network status: $status');
});
}
状态栏样式设置 (status_bar_utils)
import 'package:nian_common_utils/utils/status_bar_utils.dart';
void setStatusBarStyle() {
// 设置状态栏为透明
StatusBarUtils.setTransparent();
// 设置状态栏为白色
StatusBarUtils.setWhite();
}
更多关于Flutter通用工具插件nian_common_utils的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter通用工具插件nian_common_utils的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
nian_common_utils
是一个 Flutter 通用工具插件,旨在为开发者提供一些常用的工具和功能,简化开发流程。以下是如何使用 nian_common_utils
插件的详细指南。
1. 安装插件
首先,你需要在 pubspec.yaml
文件中添加 nian_common_utils
作为依赖项:
dependencies:
flutter:
sdk: flutter
nian_common_utils: ^1.0.0 # 请根据实际情况使用最新版本
然后运行 flutter pub get
来安装插件。
2. 导入插件
在你的 Dart 文件中导入 nian_common_utils
:
import 'package:nian_common_utils/nian_common_utils.dart';
3. 使用工具类
nian_common_utils
提供了多种工具类,以下是其中一些常用功能的示例:
3.1. 日期时间工具
// 格式化日期
String formattedDate = DateUtil.formatDate(DateTime.now(), format: 'yyyy-MM-dd HH:mm:ss');
print(formattedDate); // 输出: 2023-10-05 12:34:56
// 获取当前时间戳
int timestamp = DateUtil.currentTimeMillis();
print(timestamp); // 输出: 1696509296000
// 时间戳转日期
DateTime dateTime = DateUtil.timestampToDateTime(timestamp);
print(dateTime); // 输出: 2023-10-05 12:34:56.000
3.2. 字符串工具
// 判断字符串是否为空
bool isEmpty = StringUtil.isEmpty("");
print(isEmpty); // 输出: true
// 判断字符串是否为数字
bool isNumeric = StringUtil.isNumeric("123");
print(isNumeric); // 输出: true
// 字符串反转
String reversed = StringUtil.reverse("Hello");
print(reversed); // 输出: olleH
3.3. 网络工具
// 检查网络连接状态
bool isConnected = await NetworkUtil.isConnected();
print(isConnected); // 输出: true 或 false
// 获取当前网络类型
String networkType = await NetworkUtil.getNetworkType();
print(networkType); // 输出: wifi 或 mobile 或 none
3.4. 文件工具
// 读取文件内容
String fileContent = await FileUtil.readFile('path/to/file.txt');
print(fileContent);
// 写入文件内容
await FileUtil.writeFile('path/to/file.txt', 'Hello, World!');
// 删除文件
bool isDeleted = await FileUtil.deleteFile('path/to/file.txt');
print(isDeleted); // 输出: true 或 false
3.5. 加密工具
// MD5 加密
String md5 = EncryptionUtil.md5('Hello, World!');
print(md5); // 输出: ed076287532e86365e841e92bfc50d8c
// SHA256 加密
String sha256 = EncryptionUtil.sha256('Hello, World!');
print(sha256); // 输出: 2ef7bde608ce5404e97d5f042f95f89f1c232871
3.6. 其他工具
// 生成随机数
int randomNumber = RandomUtil.nextInt(1, 100);
print(randomNumber); // 输出: 1 到 100 之间的随机数
// 判断设备是否为真机
bool isRealDevice = DeviceUtil.isRealDevice();
print(isRealDevice); // 输出: true 或 false
4. 自定义工具
如果你需要扩展 nian_common_utils
的功能,可以创建自己的工具类,并继承或扩展现有的工具类。
class MyCustomUtils extends DateUtil {
static String customFormat(DateTime dateTime) {
return formatDate(dateTime, format: 'dd/MM/yyyy');
}
}