Flutter通用功能插件commonfunctions的使用

Flutter通用功能插件commonfunctions的使用

commonfunctions 是一个为 Flutter 提供常用实用函数的包,包括日期选择器、时间选择器、字符串操作、颜色转换等功能。

特性

  • 自定义日期选择器:支持过去和未来的日期选项。
  • 自定义时间选择器:可以设置初始时间和标题。
  • 将基于字符串的颜色代码转换为 Color 对象
  • 以格式化字符串的形式获取当前日期和时间
  • 将字符串转换为 Base64 字符串
  • 将时间戳格式化为 12 小时制 AM/PM 格式
  • 计算字符串长度
  • 使用正则表达式验证电子邮件地址

安装

在你的项目 pubspec.yaml 文件中添加以下依赖项:

dependencies:
  commonfunctions: ^0.0.1

然后运行 flutter pub get 来安装该包。

使用示例

以下是一个完整的示例,展示如何使用 commonfunctions 包中的各种功能。

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  [@override](/user/override)
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  String selectedDate = "未选择";
  String selectedTime = "未选择";
  String base64String = "";
  bool isValidEmail = false;

  // 自定义日期选择器
  Future<void> _selectDate(BuildContext context) async {
    final DateTime? picked = await showDatePicker(
      context: context,
      initialDate: DateTime.now(),
      firstDate: DateTime(2000),
      lastDate: DateTime(2101),
    );
    if (picked != null) {
      setState(() {
        selectedDate = picked.toString();
      });
    }
  }

  // 自定义时间选择器
  Future<void> _selectTime(BuildContext context) async {
    final TimeOfDay? picked = await showTimePicker(
      context: context,
      initialTime: TimeOfDay.now(),
    );
    if (picked != null) {
      setState(() {
        selectedTime = picked.format(context).toString();
      });
    }
  }

  // 字符串转 Base64
  void _convertToBase64(String input) {
    setState(() {
      base64String = CommonFunctions.toBase64(input);
    });
  }

  // 验证邮箱
  void _validateEmail(String email) {
    setState(() {
      isValidEmail = CommonFunctions.validateEmail(email);
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("commonfunctions 使用示例"),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            // 显示当前日期和时间
            Text("当前日期和时间: ${CommonFunctions.getCurrentDateTime()}"),
            SizedBox(height: 16),
            // 自定义日期选择器
            ElevatedButton(
              onPressed: () => _selectDate(context),
              child: Text("选择日期 ($selectedDate)"),
            ),
            SizedBox(height: 16),
            // 自定义时间选择器
            ElevatedButton(
              onPressed: () => _selectTime(context),
              child: Text("选择时间 ($selectedTime)"),
            ),
            SizedBox(height: 16),
            // 字符串转 Base64
            TextField(
              onChanged: (value) => _convertToBase64(value),
              decoration: InputDecoration(labelText: "输入字符串"),
            ),
            Text("Base64 转换结果: $base64String"),
            SizedBox(height: 16),
            // 邮箱验证
            TextField(
              onChanged: (value) => _validateEmail(value),
              decoration: InputDecoration(labelText: "输入邮箱"),
            ),
            Text(isValidEmail ? "邮箱有效" : "邮箱无效"),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


在 Flutter 中,commonfunctions 并不是一个官方或广泛认可的插件。它可能是某个开发者或团队创建的自定义插件,用于封装一些通用的功能。如果你指的是某个特定的 commonfunctions 插件,请确保你已经按照其文档进行了安装和配置。

假设你有一个名为 commonfunctions 的插件,以下是如何在 Flutter 项目中使用它的一般步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 commonfunctions 插件的依赖。假设该插件已经发布到 pub.dev,你可以这样添加:

dependencies:
  flutter:
    sdk: flutter
  commonfunctions: ^1.0.0  # 请根据实际版本号替换

然后运行 flutter pub get 来获取依赖。

2. 导入插件

在你需要使用 commonfunctions 的 Dart 文件中导入它:

import 'package:commonfunctions/commonfunctions.dart';

3. 使用插件功能

根据 commonfunctions 插件的功能,你可以调用其提供的方法或类。例如,如果插件提供了一个名为 showToast 的方法来显示 Toast 消息,你可以这样使用:

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Common Functions Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              CommonFunctions.showToast('Hello, World!');
            },
            child: Text('Show Toast'),
          ),
        ),
      ),
    );
  }
}

void main() => runApp(MyApp());

4. 处理异步操作

如果插件提供了异步操作,例如网络请求或文件读写,你可能需要使用 asyncawait 来处理这些操作。例如:

void fetchData() async {
  var data = await CommonFunctions.fetchDataFromServer();
  print(data);
}

5. 处理错误

根据插件的实现,某些操作可能会抛出异常。你可以使用 try-catch 块来处理这些错误:

void fetchData() async {
  try {
    var data = await CommonFunctions.fetchDataFromServer();
    print(data);
  } catch (e) {
    print('Error: $e');
  }
}

6. 自定义配置

如果插件允许自定义配置,你可能需要在应用的启动阶段进行配置。例如:

void main() {
  CommonFunctions.configure(
    apiKey: 'your_api_key',
    baseUrl: 'https://api.example.com',
  );
  runApp(MyApp());
}
回到顶部