본문 바로가기
안드로이드 자바

[Java][Android] CountDownTimer 활용해 간단한 타이머 만들기

by teamnova 2025. 3. 25.
728x90

안녕하세요

오늘은 CountDownTimer를 활용해서 간단한 타이머 기능을 구현해보겠습니다.

CountDownTimer를 사용하면 카운트할 시간과 호출간격만 입력하면 간편하게 타이머를 구현할 수 있습니다.

 

전체 코드입니다.

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:gravity="center"
  android:padding="16dp">

  <TextView
    android:id="@+id/tvTimer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="10"
    android:textSize="30sp"
    android:textStyle="bold"/>

  <Button
    android:id="@+id/btnStart"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="타이머 시작"
    android:layout_marginTop="20dp"/>
</LinearLayout>

 

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

  private TextView tvTimer;
  private Button btnStart;
  private CountDownTimer countDownTimer;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tvTimer = findViewById(R.id.tvTimer);
    btnStart = findViewById(R.id.btnStart);

    btnStart.setOnClickListener(v -> {
      countDownTimer = new CountDownTimer(10000, 1000) {
        public void onTick(long millisUntilFinished) {
          tvTimer.setText(String.valueOf(millisUntilFinished / 1000));
        }
        public void onFinish() {
          tvTimer.setText("완료!");
        }
      }.start();
    });
  }

}

 

new CountDownTimer(long millisInFuture, long countDownInterval)

 

첫번째 매개변수에 카운트다운 할 총 시간을 밀리초 단위로 입력해주고,

두번째 매개변수에 onTick() 이 호출될 간격을 밀리초 단위로 입력해주시면 됩니다.

 

시연 영상입니다.