안드로이드(Android) Chronometer, OnChronometerTickListener 통해 시간알아오기 |
환경 : Eclipse Mars, Android 4.2.2 |
OnChronometerTickListener 는 Chronometer 객체가 start() 함수를 시작하게 되면 틱마다 한번씩 이벤트를 발생시킵니다.이전 Chronometer 을 구현한 버전에서 OnChronometerTickListener 만 추가하여 이벤트가 발생했을 때 시간을 구현한 예제입니다.
▼ 추가된 소스는 현재시스템 시간(SystemClock.elapsedRealtime()) 과 Chronometer 에 셋팅되어있는 값의 차이를 화면에 메시지로 알려주는 기능입니다. 밀리세컨드로 표시 하였습니다.
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { public void onChronometerTick(Chronometer chronometer) { long myElapsedMillis = SystemClock.elapsedRealtime() - chronometer.getBase(); String strElapsedMillis = "Elapsed milliseconds: " + myElapsedMillis; Toast.makeText(ChronometerActivity.this, strElapsedMillis, Toast.LENGTH_SHORT).show(); } });
▼ Chronometer 의 start() 함수가 구현한 기능과 같다고 보면 됩니다. SystemClock 에서 가져온시간과 Chronometer 에서 setBase() 한 값이 차이가 흘러간 시간을 나타내주기 때문이죠. Chronometer 위젯은 사용자가 시간을 구해 스레드로 매번 시간을 화면에 표시하기 위한 소스를 구현하지 않아도 되도록 기능을 제공해 주는 것이죠.
시간을 표현표현할 때 setFormat() 함수를 사용해 텍스트의 형태를 바꿀수도 있습니다. 포맷변경 버튼을 만들어 예제에 추가 하였습니다.
buttonFormat.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { chronometer.setFormat("Formated Time - %s"); } });
▼ 전체소스와 레이아웃은 “안드로이드(Android) Chronometer 사용하여 시간측정을 위한 타이머 만들기” 를 참조하시기 바랍니다. 이전 아티클에 위 두가지 부분만 추가 되었습니다.
'안드로이드 개발' 카테고리의 다른 글
안드로이드(Android) AutoCompleteTextView 위젯을 이용해 단어 자동완성기능 구현 (0) | 2015.01.12 |
---|---|
안드로이드(Android) EditText 위젯의 입력타입별 예제 (0) | 2015.01.11 |
안드로이드(Android) raw 폴더에 있는 Text 파일 읽어 오기 (1) | 2015.01.08 |
안드로이드(Android) Chronometer 사용하여 시간측정을 위한 타이머 만들기 (1) | 2015.01.05 |
안드로이드(Android) 웹페이지에서 이미지 다운로드 구현 (0) | 2015.01.01 |
안드로이드(Android) ListActivity 를 이용해여 간단한 목록형 화면만들기 (0) | 2014.12.28 |
안드로이드(Android) 백그라운드 스레드 소스 Runnable 이용해 구현 (0) | 2014.12.26 |
안드로이드(Android) 백그라운드에서 Handler 를 통해 UI 변경 (1) | 2014.12.23 |