본문 바로가기

Android

[Android] 쉽고 빠르게 시계 만들기 (현재시간 출력)

Android 시계 만들기라고 검색해보면 많은 검색 결과에서 TextView에 AsyncTask 또는 Handler를 이용하여 매 초마다 TextView를 갱신하는 방법을 사용하라고 합니다.

 

하지만 그 방법보다 쉽고 빠르게 현재 시간을 출력할 수 있는 방법이 있습니다.

바로 Widget에서 기본으로 제공되고 있는 TextClock입니다.


TextClock Doc

https://developer.android.com/reference/android/widget/TextClock
 

TextClock  |  Android Developers

 

developer.android.com

TextClock은 Api Level 17(젤리빈)부터 지원하며, TextView를 상속받아 만들어진 클래스입니다.

TextClock 내부에서 자체적으로 시간을 주므로 큰 설정이 필요없고 현재 시간에 맞추어 View 갱신도 해주고 있습니다.

 

사용법은 다음과 같습니다.

 

layout xml에 TextClock을 선언해주고 format12Hour, format24Hour만 정의해주면 됩니다.

format12Hour, format24Hour 두 가지의 옵션은 각각 사용자가 디바이스에서 설정한 시간 타입에 따라 포맷을 정의할 수 있습니다.

 

만약 사용자가 12시간 형식의 시간을 사용한다면 format12Hour에 정의된 포맷을 따르며 24시간 형식의 시간을 사용한다면 format24Hour에 정의된 포맷을 따릅니다.

두 포맷은 DateFormat의 포맷을 따르고 있기 때문에 다양한 형태로 시간의 출력이 가능합니다. 포맷의 출력 정의는 SimpleDateFormat에서 확인 할 수 있습니다.