Flutter时间管理插件timerun的使用

Flutter时间管理插件timerun的使用

timerun 是一个用于Flutter的时间管理库,允许你轻松地管理具有可定制配置的计时器。你可以使用这个库以简单且灵活的方式在你的Flutter应用中实现计时器。

安装

要开始使用timerun,请将以下行添加到你的pubspec.yaml文件中:

dependencies:
  timerun: ^0.8.0  # 替换为库的最新版本

然后运行命令 flutter pub get 来安装该库。

基本用法

在你的Dart文件中导入库:

import 'package:timerun/timerun.dart';
创建一个计时器
// 创建一个计时器实例
TimeRun myTimer = TimeRun(
  series: 3,                  // 系列数量
  repetitions: 10,            // 每系列的重复次数
  pauseSeries: 30,            // 系列之间的暂停时间(秒)
  pauseRepeition: 10,         // 重复之间的暂停时间(秒)
  time: 60,                   // 每个重复的时间(秒)
  onUpdate: (currentSeries, currentRepetition, currentTime, totalSeries, totalRepetitions, timerState) {
    // 处理计时器更新的逻辑
  },
  onFinish: () {
    // 处理计时器结束的逻辑
  },
  onChange: (timerState) {
    // 处理计时器状态变化(播放、暂停、停止)的逻辑
  },
);
控制计时器
await myTimer.play();    // 开始计时器
await myTimer.pause();   // 暂停计时器
await myTimer.resume();  // 恢复计时器
await myTimer.stop();    // 停止计时器
参数说明
  • series: 计时器中的系列数量。
  • repetitions: 每系列的重复次数。
  • pauseSeries: 系列之间的暂停时间(秒)。
  • pauseRepeition: 重复之间的暂停时间(秒)。
  • time: 每个重复的时间(秒)。
  • onUpdate: 每次计时器更新时调用的函数。
  • onFinish: 计时器结束时调用的函数。
  • onChange: 计时器状态变化(播放、暂停、停止)时调用的函数。

示例代码

以下是一个完整的示例,展示了如何在Flutter应用中使用timerun库。

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:timerun/timerun.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late TimeRun timeRun;

  [@override](/user/override)
  void initState() {
    print("FL -> se ejecuta");
    timeRun = TimeRun(
      series: 2,
      repetitions: 2,
      pauseSeries: 0,
      pauseRepeition: 5,
      time: 150,
      resetTimerOnResume: true,
      onChange: (p0) {
        print("STATE: $p0");
      },
      onFinish: () {
        print("FINISH");
      },
      onUpdate: (
        currentSeries,
        totalSeries,
        currentRepetition,
        totalRepetitions,
        currentSeconds,
        timePause,
        currentState,
      ) {
        print("currentSeries: $currentSeries");
        print("totalSeries: $totalSeries");
        print("currentRepetition: $currentRepetition");
        print("totalRepetitions: $totalRepetitions");
        print("currentSeconds: $currentSeconds");
        print("timePause: $timePause");
        print("currentState: $currentState");
      },
    );
    super.initState();
  }

  // 平台消息是异步的,所以我们初始化在一个异步方法中。
  Future<void> test() async {
    timeRun.play();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                onPressed: timeRun.play,
                child: const Text('START'),
              ),
              const SizedBox(height: 5),
              ElevatedButton(
                onPressed: timeRun.pause,
                child: const Text('PAUSE'),
              ),
              const SizedBox(height: 5),
              ElevatedButton(
                onPressed: timeRun.resume,
                child: const Text('RESUME'),
              ),
              const SizedBox(height: 5),
              ElevatedButton(
                onPressed: timeRun.stop,
                child: const Text('STOP'),
              ),
              const SizedBox(height: 5),
              ElevatedButton(
                onPressed: () async => print(await timeRun.isPaused()),
                child: const Text('IS PAUSED ?'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter时间管理插件timerun的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter时间管理插件timerun的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


Timerun 是一个用于 Flutter 的时间管理插件,它可以帮助你跟踪应用程序中各个部分所花费的时间。这对于性能优化和调试非常有用。以下是如何使用 Timerun 插件的基本步骤。

1. 添加依赖

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

dependencies:
  timerun: ^1.0.0  # 请使用最新版本

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

2. 导入包

在你的 Dart 文件中导入 Timerun

import 'package:timerun/timerun.dart';

3. 使用 Timerun

Timerun 提供了几个简单的 API 来开始和结束计时,并获取计时结果。

3.1 开始计时

你可以使用 Timerun.start 来开始计时。你可以为每个计时器指定一个唯一的名字:

Timerun.start('myTimer');

3.2 结束计时

使用 Timerun.end 来结束计时:

Timerun.end('myTimer');

3.3 获取计时结果

你可以使用 Timerun.getDuration 来获取某个计时器的持续时间:

Duration duration = Timerun.getDuration('myTimer');
print('Time taken: ${duration.inMilliseconds}ms');

3.4 重置计时器

如果你想重置某个计时器,可以使用 Timerun.reset

Timerun.reset('myTimer');

4. 示例代码

以下是一个完整的示例,展示了如何使用 Timerun 来测量代码块的执行时间:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Timerun Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 开始计时
              Timerun.start('myTimer');

              // 模拟一些耗时的操作
              for (int i = 0; i < 1000000; i++) {
                // 一些计算
              }

              // 结束计时
              Timerun.end('myTimer');

              // 获取并打印计时结果
              Duration duration = Timerun.getDuration('myTimer');
              print('Time taken: ${duration.inMilliseconds}ms');
            },
            child: Text('Run Timer'),
          ),
        ),
      ),
    );
  }
}
回到顶部