Chronometer 시간 계산하기 > 개발팁

본문 바로가기
사이트 내 전체검색

개발팁

안드로이드앱 Chronometer 시간 계산하기

페이지 정보

본문

안드로이드 앱 개발시 스톱워치와 같은 시간을 표시할 때 Chronometer를 이용하게 됩니다.


그러나 가만히 흘러가게 냅둔다면 괜찮지만 Chronometer의 시간 값을 이용하여 다양한 기능을 만들고 싶다면 어떻게 할까요?

만약 사용해보신 분이 있다면 Chronometer를 쓰는게 마냥 단순하지만은 않다는 것을 아실겁니다.


중요한 것은 2가지 입니다.

하나는 실제 시간을 나타내는 값입니다.

그리고 나머지 하나는 Chronometer의 Base 시간입니다.


Chronometer는 시간 계산을 실제 현재 시간을 이용하여 계산합니다.

그리고 Chronometer가 처음 작동했을 때의 시간이 Base 값입니다.

따라서 [실제시간 - Base]를 계산한다면 흘러간 시간을 나타낼 수 있는 것입니다.


예를 들어 Chronometer가 처음 작동했을 때 실제 시간이 900이라고 한다면 Base 값은 900입니다.

그리고 10초가 흘러 현재 실제 시간이 910이 되었다면

910 - 900 을 대입하여 10초라는 결과가 나오게 되는 것입니다.


이를 통해 조금만 응용하면 다양하게 시간 값을 적용시킬 수 있습니다.


Chronometer를 stop과 restart를 구현해봅시다.

일반적으로는 stop 명령어를 통해 stop해도 다시 시작하면 시간이 갑자기 뻥튀기 되실겁니다.

왜냐하면 언제나[실제시간 - Base]를 통해 계산하기 때문에 멈춰져 있던 시간도 흘러간 것처럼 표시되기 때문이죠.


따라서 stop했을 당시의 실제 시간을 구해야합니다.

이는 'SystemClock.elapsedRealtime()' 을 통해 구할 수 있습니다.

그리고 setBase 메서드를 이용하여

[실제시간 - stop시간 + 기존Base시간] 을 수행해준다면

멈춰져 있던 시간을 빼줄 수 있습니다.


Base시간을 변경시켜서 임의로 조작할 수 있다는 것이 핵심입니다.

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 팁에는팁 / 대표 : 이하령
개인정보관리책임자 : 이하령

공지사항

  • 게시물이 없습니다.

접속자집계

오늘
5,139
어제
5,326
최대
5,394
전체
530,907
Copyright © 소유하신 도메인. All rights reserved.