🙄

Flutterで定期実行を行う

2023/05/10に公開

Flutter/Dartで一定間隔で実行する実装を紹介します!
1秒ごとに点滅させる表示や、0.5秒おきに文字を変えるなどです。

initStateにTimber.periodicでまずは定期実行する処理内容の作成をします。


  void initState() {
    // 定期実行
    Timer.periodic(const Duration(seconds: 5), flash);

定期実行する処理は別途それ用のメソッドを作成して、メソッド内容に処理内容を実装します。

  /// 定期実行を実行するメソッド
  void flash(Timer timer) {
    setState(() {
      changeVisible();
    });
  }

/// 表示/非表示の切替をテキストで行う
  void changeVisible() {
    _isVisible = _isVisible ? false : true;
  }
  

終了する時は

timer.cancel();

で終了させます。
再度実行したい場合は都度インスタンスを呼ばないといけない。


// 再度実行する時
 timer = Timer.periodic(const Duration(seconds: 5), flash);
 

再度実行する場合はRestartableTimerがあるっぽいんだよな。。
それでできるかも検証します!

Arsaga Developers Blog

Discussion