반응형
CountDown Timer 사용법
일정 간격에 대한 알람과 일정 시간에 대한 카운트 다운.
기본 형식
(텍스트 필드에 30초 카운트 다운 표시)
new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); } public void onFinish() { mTextField.setText("done!"); } }.start(); |
출처: https://developer.android.com/reference/android/os/CountDownTimer#java
- new CountDownTimer()은 각 매개변수 millisInFuture, countDownInterval가 있다.
- 모두 millisecond,ms(1/1000초)를 단위, 그리고 데이터 타입은 long으로 하고 있으니, 표기에 유의하자.
- millisInFuture: 카운트 다운하는 전체시간
- countDownInterval: 카운트 다운하는 시간 간격(인터벌), 시간 간격은 딱히 변경할일이 잘 없으므로, 상수로 처리해놓는것이 더 좋다.
- 위의 예제같은 경우, 총 30초를 1초단위로 카운트다운하겠다는 뜻이다.
CountDownTimer 공개메서드
new CountDownTimer()에서 표시할 수 있는 오버라이딩 메소드는 하기와 같다.
공개 메서드 | 설명 | |
final void | cancel() | 카운트다운 취소 |
abstract void | onFinish() | 시간이 다 되면 실행하는 메소드 |
abstract void | onTick(long millisUntilFinished) | 일정한 간격으로 실행되는 메소드 |
final CountDownTimer | start() | 카운트다운 시작 |
onTick(long millisUntilFinished)의 millisUntilFinished은 완료될 때까지의 시간이다.
CountDownTimer 예제1
CountDownTimer 예제2
TextView txtTimer; // 타이머를 사용하기 위한, 멤버변수로 선언 CountDownTimer timer; // 타이머 전체 초 : 60초 final long millisInFuture = 60000; // 감소시킬 시간간격 : 1초 final long countDownInterval = 1000; boolean isFinish = false; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtTimer = findViewById(R.id.txtTimer); timer = new CountDownTimer(millisInFuture, countDownInterval) { @Override public void onTick(long l) { // 남은 시간을 계산해서 // 텍스트뷰에 보여준다. long remain = l / 1000; txtTimer.setText("남은 시간 : " + remain); } @Override public void onFinish() { Log.i("MyTimer", "타이머 끝났다!!"); isFinish = true; }}; timer.start();} |
반응형
'FrontEnd > Android 기초' 카테고리의 다른 글
[Android] TextWatcher 사용법(feat.addTextChangedListener) (0) | 2022.07.19 |
---|---|
[Android] Android Asset 이름 규칙 (0) | 2022.07.17 |
[Android] 네트워크 통신을 위한 Volley 라이브러리 (0) | 2022.07.16 |
[Android] 프로그래스바(Progress Bar) 사용법 (0) | 2022.07.16 |
[Android] 액티비티 라이프 사이클(Activity LifeCycle) 주요 4개 함수 (0) | 2022.07.16 |