[Flutter][Dart]経過時間を測るには?

Dart

どうも、ちょげ(@chogetarou)です。

経過時間を測る方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

経過時間を測るには、Stopwatchクラスを使います。

まず、Stopwatchのインスタンスを用意します。

Stopwatch _timer = Stopwatch();

次に、Stopwatchの次のメソッドを使い、経過時間を測ります。

  • start() : 時間を測り始める
  • stop() : 時間を測るのをやめる
  • reset() : 時間をリセットする

最後に、次のプロパティを使って時間を確認します。

  • elapsed : 経過時間
  • elapsedMicroSeconds : 経過時間(マイクロ秒)
  • elapsedMilliSeconds : 経過時間(ミリ秒)

Stopwatchクラスを使えば、経過時間を測ることが出来ます。

スポンサーリンク

使用例

以下は、使用例です。

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

class _MyHomePageState extends State<MyHomePage> {
  Stopwatch _timer = Stopwatch();
  String duration = '';
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text("Time; ${_timer.elapsed}"),
            ElevatedButton(
              onPressed: () {
                setState(() {
                  if (_timer.isRunning) {
                    duration = _timer.elapsedTicks.toString();
                    _timer.stop();
                  } else {
                    _timer.start();
                  }
                });
              },
              child: Text(_timer.isRunning ? 'Stop' : 'Start'),
            )
          ],
        ),
      ),
    );
  }
}

コメント

タイトルとURLをコピーしました