프로그래밍과 잡담

[안드로이드] 현재시간을 받아오기 본문

프로그래밍/안드로이드

[안드로이드] 현재시간을 받아오기

크레온 2011. 4. 28. 14:02


현재 시간을 받아오는건..

물론,  Calendar 클래스를 이용해서 받아오면 되긴 한다..

문제는 1분마다 업데이트가 안된다는거지.

 그래서 안드로이드에서는 브로드캐스트리시버라는게 있다..

뭐하는거냐면 안드로이드에서 보내는 신호를 받는 역활을 하는거다. 자세한거는 안드로이드 개발페이지에 가면 있다.

 http://developer.android.com/reference/android/content/BroadcastReceiver.html

당연하지만 영어로 되어 있다. ㅋ 

뭐 여하튼..
 
시간 받는 방법 중에는 스래드를 졸라게 돌려서 받는 방법이 있지만  
이런짓을 하면 cpu가 존나 돌아가니까 좋은 방법은 아니고

//특정 엑티비티..
class MyClass extends Activity{
   //.....
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        ......
        //인텐트 필터 설정
        IntentFilter filter = new IntentFilter();
	filter.addAction(Intent.ACTION_TIME_TICK);
	
	MyReceiver mr = new MyReceiver();
	registerReceiver(mr, filter);
        ....
    }

}

//브로드 캐스트 리시버를 상속받은 클래스
public class  MyReceiver extends BroadcastReceiver {

     //여기서 처리..
    @Override
    public void onReceive(Context context, Intent intent) {
        // 1분 마다 여기서 리시브가 된다..
	if (intent.getAction().equals(Intent.ACTION_TIME_TICK)) {
              //doSomting
              //여기서 시간을 설정하면 된다.
	}

    }

위와 같이 처리를 하면  1분마다 MyReciver가 OnReceive에서  받게 된다.

끝.. 나머지는 알아서 처리하면 된다.
반응형
Comments