Flutter通用工具插件dart_common_utils的使用

Flutter通用工具插件dart_common_utils的使用

dart_common_utils 是一个功能丰富的 Dart 包,提供了许多实用的工具类,可以帮助开发者快速实现一些常见的功能。本文将通过一个完整的示例来展示如何在 Flutter 中使用 dart_common_utils

安装

首先,在项目的 pubspec.yaml 文件中添加依赖:

dependencies:
  dart_common_utils: ^1.0.0

然后运行以下命令以安装依赖:

flutter pub get

使用示例

以下是一个完整的示例,展示了如何使用 dart_common_utils 中的一些常用工具类。

示例代码

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('dart_common_utils 示例'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                onPressed: () => _showToast(context),
                child: Text('显示 Toast 提示'),
              ),
              SizedBox(height: 20),
              ElevatedButton(
                onPressed: () => _formatDate(context),
                child: Text('格式化日期'),
              ),
            ],
          ),
        ),
      ),
    );
  }

  // 显示 Toast 提示
  void _showToast(BuildContext context) {
    ToastUtils.showShortToast(context, "这是 Toast 提示!");
  }

  // 格式化日期
  void _formatDate(BuildContext context) {
    DateTime now = DateTime.now();
    String formattedDate = DateUtils.formatDateTime(now, "yyyy-MM-dd HH:mm:ss");
    showDialog(
      context: context,
      builder: (context) => AlertDialog(
        title: Text("格式化后的日期"),
        content: Text(formattedDate),
        actions: [
          TextButton(
            onPressed: () => Navigator.pop(context),
            child: Text("关闭"),
          ),
        ],
      ),
    );
  }
}

代码说明

  1. 导入包
    import 'package:dart_common_utils/dart_common_utils.dart';
    

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

1 回复

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


dart_common_utils 是一个 Flutter 的通用工具插件,它提供了许多常用的工具函数和扩展方法,帮助开发者更高效地编写代码。这个插件包含了许多功能,如字符串处理、日期时间处理、集合操作、文件操作等。

安装

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

dependencies:
  dart_common_utils: ^1.0.0

然后运行 flutter pub get 来安装依赖。

使用示例

1. 字符串处理

import 'package:dart_common_utils/dart_common_utils.dart';

void main() {
  String str = "hello world";
  
  // 判断字符串是否为空
  print(str.isNullOrEmpty); // false
  
  // 判断字符串是否为空白
  print(str.isNullOrBlank); // false
  
  // 反转字符串
  print(str.reverse); // dlrow olleh
  
  // 首字母大写
  print(str.capitalize); // Hello world
}

2. 日期时间处理

import 'package:dart_common_utils/dart_common_utils.dart';

void main() {
  DateTime now = DateTime.now();
  
  // 格式化日期
  print(now.format("yyyy-MM-dd")); // 2023-10-05
  
  // 获取当前时间戳
  print(now.timestamp); // 1696521600
  
  // 判断是否为今天
  print(now.isToday); // true
  
  // 获取日期的开始时间
  print(now.startOfDay); // 2023-10-05 00:00:00.000
  
  // 获取日期的结束时间
  print(now.endOfDay); // 2023-10-05 23:59:59.999
}

3. 集合操作

import 'package:dart_common_utils/dart_common_utils.dart';

void main() {
  List<int> list = [1, 2, 3, 4, 5];
  
  // 判断列表是否为空
  print(list.isNullOrEmpty); // false
  
  // 随机打乱列表
  print(list.shuffle()); // [3, 1, 5, 2, 4]
  
  // 获取列表的第一个元素
  print(list.firstOrNull); // 1
  
  // 获取列表的最后一个元素
  print(list.lastOrNull); // 5
  
  // 过滤列表
  print(list.where((item) => item > 3)); // [4, 5]
}

4. 文件操作

import 'package:dart_common_utils/dart_common_utils.dart';
import 'package:flutter/services.dart' show rootBundle;

void main() async {
  // 读取文件内容
  String content = await FileUtils.readFile("assets/data.txt");
  print(content);
  
  // 写入文件内容
  await FileUtils.writeFile("output.txt", "Hello, World!");
  
  // 检查文件是否存在
  bool exists = await FileUtils.exists("output.txt");
  print(exists); // true
}

5. 其他工具

import 'package:dart_common_utils/dart_common_utils.dart';

void main() {
  // 生成随机数
  int randomNum = RandomUtils.nextInt(1, 100);
  print(randomNum); // 42
  
  // 判断是否为数字
  print(StringUtils.isNumeric("123")); // true
  
  // 判断是否为邮箱
  print(StringUtils.isEmail("example@example.com")); // true
  
  // 判断是否为URL
  print(StringUtils.isUrl("https://example.com")); // true
}
回到顶部