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');
  }
}
回到顶部