Android 는 Handler 를 사용 하여 타이머 와 카운트다운 기능 을 실현 합 니 다.
Handler 는 안 드 로 이 드 메시지 체제 의 상부 인터페이스 로 우 리 를 위해 많은 하부 디 테 일 을 밀봉 하여 우리 로 하여 금 하부 메시지 체 제 를 편리 하 게 사용 할 수 있 게 한다.Handler 의 가장 흔 한 응용 장면 중 하 나 는 Handler 를 통 해 서브 스 레 드 에서 UI 를 간접 적 으로 업데이트 하 는 것 이다.Handler 의 역할 은 주로 두 가지 가 있 습 니 다.하 나 는 메 시 지 를 보 내 는 것 입 니 다.둘째,메 시 지 를 처리 하 는 것 입 니 다.그 운영 은 바 텀 Looper 와 Message Queue 의 기반 이 필요 합 니 다.Message Queue 는 메시지 대기 열 입 니 다.바 텀 은 단일 체인 시트 로 이 루어 집 니 다.Looper 는 하나의 순환 에서 Message Queue 에서 메 시 지 를 계속 가 져 오 는 것 을 책임 지고 가 져 오 면 Handler 에 맡 기 고 그렇지 않 으 면 기다 리 고 있 습 니 다.Looper 에 대해 주의해 야 할 점 은 메 인 라인 을 제외 한 다른 라인 에 기본적으로 Looper 가 존재 하지 않 는 다 는 것 입 니 다.주 스 레 드 에 존재 하 는 이 유 는 Activity Thread 가 생 성 될 때 Looper 를 초기 화 하 는 작업 이 완료 되 기 때 문 입 니 다.
특성
지원 동작:
start
pause
resume
cancel
쓰다
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
...
compile 'com.github.xesam:AndroidTimer:v0.1'
}
TODOadd ticker sequence
쓰다
CountTimer
new CountTimer(100) {
@Override
public void onTick(long millisFly) { // millisFly is the Elapsed time at *Running State*
vCountSwitcher.setText((millisFly) + "");
Log.d("onTick", millisFly + "");
}
};
CountDownTimer
new CountDownTimer(10_000, 100) {
@Override
public void onTick(long millisUntilFinished) { // millisUntilFinished is the left time at *Running State*
Log.d("onTick", millisFly + "");
}
@Override
public void onCancel(long millisUntilFinished) {
}
@Override
public void onPause(long millisUntilFinished) {
}
@Override
public void onResume(long millisUntilFinished) {
}
@Override
public void onFinish() {
}
};
하나의 Handler 를 사용 하여 여러 정시 작업 을 동시에 관리 합 니 다.여러 작업 생 성:
MultiCountTimer multiCountTimer = new MultiCountTimer(100);
multiCountTimer.add(new CounterTimerTask(1) {
@Override
public void onTick(long millisFly) {
vMulti1.setText("multi_1:" + millisFly);
}
}).registerTask(new CounterTimerTask(2, 100) {
@Override
public void onTick(long millisFly) {
vMulti2.setText("multi_2:" + millisFly);
}
}).registerTask(new CounterTimerTask(3, 1000) {
@Override
public void onTick(long millisFly) {
vMulti3.setText("multi_3:" + millisFly);
}
});
multiCountTimer.startAll();
작업 취소:
multiCountTimer.cancel(2);
multiCountTimer.cancelAll();
캡 처:총결산
위 에서 말 한 것 은 편집장 이 소개 한 안 드 로 이 드 가 Handler 를 사용 하여 타이머 와 카운트다운 기능 을 실현 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.