LoginSignup
1
0

More than 1 year has passed since last update.

【Android, Kotlin】Timerを使い一定間隔で一定処理を行う

Last updated at Posted at 2022-06-16

はじめに

IT企業入社3か月目の初学者のアウトプットです。

やりたいこと

Timerを使って、一定間隔で一定の処理を行う
(TimerTaskの内容を繰り返し行う)

手順

様々な書き方があると思いますが本記事ではシンプルな書き方を記述します。
1.Timerオブジェクト作成

val timer = Timer()

2.TimerTaskクラスに繰り返したい処理を記載

private val timerTask = task()

class task : TimerTask() {
    override fun run() {
    println("hello")
    }
}

3.scheduleAtFixedRateメソッドを記載

scheduleAtFixedRate(TimerTask task, long delay, long period)

第1引数:繰り返しを実行するクラス
第2,3引数:Long型

サンプルコード

MainActivity.kt
package com.webserva.wings.android.radio;

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.webserva.wings.android.radio.R.*
import java.util.*
import java.util.Timer

class MainActivity : AppCompatActivity() {
  // Timer()のインスタンス生成
    val timer = Timer()
    private val timerTask = task()
    // scheduleAtFixedRateメソッドの引数
    private val delay: Long= 0L
    private val Long: Long = 5000L
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(layout.activity_main)

        timer.scheduleAtFixedRate(timerTask, delay, Long)
    }
    class task :TimerTask() {
        override fun run() {
            // 繰り返したい処理
            println("hello")
        }
    }
    // Timer()の終了
    override fun onStop() {
        super.onStop()
        timer.cancel()
    }
}

おわり

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0