Flutter唯一标识符生成插件slugid的使用

发布于 1周前 作者 wuwangju 来自 Flutter

Flutter唯一标识符生成插件slugid的使用

Slugid - Compressed UUIDv4

Slugid 是一种URL安全的Base64编码的UUID版本4,去除了==填充,使得总长度为22个字符。这种格式的ID非常适合用于需要短而唯一的标识符的场景,例如API密钥、临时文件名等。

注意事项

  • 免责声明: 这不是官方支持的Google产品。

示例Slugid

以下是几个Slugid的例子:

  • U_sWAEJnR4epXu-TK0FCYA
  • -8prq-8rTGqKl2W9SSfyDQ
  • ti8C-AKGQsq3rDjSuXe94w
  • Fum-zBhASyO50rg3mtQcD

Slugid变体

Slugid有两种变体:

  • Slugid.v4(): 生成一个随机的UUID v4。
  • Slugid.nice(): 生成一个随机的UUID v4,并确保其编码不会以-开头。这在命令行工具中更为友好,但会稍微降低熵值。

对于更多细节,请参考原始实现(JavaScript版本)。

使用示例

以下是一个简单的Flutter应用示例,展示了如何使用slugid包生成唯一的标识符。

安装依赖

首先,在pubspec.yaml文件中添加slugid依赖:

dependencies:
  flutter:
    sdk: flutter
  slugid: ^latest_version # 替换为最新版本号

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

示例代码

接下来是完整的示例代码,展示了如何生成并打印5个随机的Slugid:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Slugid Demo'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              print('Generating 5 random slugids:');
              for (var i = 0; i < 5; i++) {
                // 使用_nice_变体,确保生成的ID不会以'-'开头
                print(Slugid.nice());
              }
            },
            child: Text('Generate SlugIDs'),
          ),
        ),
      ),
    );
  }
}

运行结果

当你点击按钮时,控制台将输出5个随机生成的Slugid。例如:

Generating 5 random slugids:
U_sWAEJnR4epXu-TK0FCYA
ti8C-AKGQsq3rDjSuXe94w
Fum-zBhASyO50rg3mtQcD
-8prq-8rTGqKl2W9SSfyDQ
ti8C-AKGQsq3rDjSuXe94w

参考资料

通过以上内容,您可以快速上手并在Flutter项目中使用slugid生成唯一的标识符。希望这对您有所帮助!


更多关于Flutter唯一标识符生成插件slugid的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter唯一标识符生成插件slugid的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中,使用slugid插件可以方便地生成唯一标识符(UUID)。以下是如何在Flutter项目中集成和使用slugid插件的详细步骤,包括相关的代码示例。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  slugid: ^3.0.0  # 请确保使用最新版本,版本号可以根据实际情况调整

2. 获取依赖

保存pubspec.yaml文件后,在终端中运行以下命令以获取依赖:

flutter pub get

3. 使用Slugid生成唯一标识符

在你的Dart文件中导入slugid库,并生成UUID。下面是一个简单的示例,展示了如何在Flutter应用中生成并使用UUID。

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Slugid Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String? uuid;

  @override
  void initState() {
    super.initState();
    // 生成UUID
    generateUUID();
  }

  void generateUUID() async {
    // 使用Slugid生成唯一标识符
    String newUuid = await Slugid.v4();
    // 更新状态以显示UUID
    setState(() {
      uuid = newUuid;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Slugid Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Generated UUID:',
              style: TextStyle(fontSize: 20),
            ),
            SizedBox(height: 10),
            Text(
              uuid ?? 'Generating...',
              style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: generateUUID,
        tooltip: 'Generate UUID',
        child: Icon(Icons.refresh),
      ),
    );
  }
}

代码说明

  1. 添加依赖:在pubspec.yaml文件中添加slugid依赖。
  2. 导入库:在Dart文件中导入slugid库。
  3. 生成UUID:使用Slugid.v4()方法异步生成UUID,并在UI中显示。
  4. 更新状态:使用setState方法更新UI以显示新生成的UUID。

运行应用

在终端中运行以下命令以启动Flutter应用:

flutter run

这将启动你的Flutter应用,并在界面上显示生成的UUID。每次点击浮动操作按钮(FAB)时,都会生成一个新的UUID并更新显示。

通过这种方式,你可以在你的Flutter应用中方便地生成和使用唯一标识符。

回到顶部