반응형

개요

 

안드로이드에서 UI 변경 작업은 메인 Thread에서만 작용이 됩니다

하지만 Handler를 이용하면 UI변경도 가능한데 이번에는 그 Handler에 대한 사용방법을 알아보겠습니다!

 


설명

 

Handler 이용하여 winercheck() 메서드를 1초 간격으로 호출해 줍니다!

 

Handler handler = new Handler(); // 메인에서 생성한 핸들러
    class MainThread extends Thread{
        @Override
        public void run() {
            while(true){

                // 메인스레드에 있던 handler겍체를 사용하여
                // Runnable 객체를 보내고 (post)
                handler.post(new Runnable(){
                    @Override
                    public void run() {  // Runnable 의 Run() 메소드에서 UI 접근
                        winercheck();
                    }
                });
                try {
                    Thread.sleep(1000);  // 1초 간격으로
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }

 

 

MainActivity Class에서 만든 MainThread Class를 호출합니다!

MainThread thread = new MainThread();

 

onCreate 부분에 넣어주시면 되는데 여기서 setDaemon은 주 Thread의 작업을 도와주는 역할로 주 Thread가 종료되면 DaemonThread는 강제적으로 종료가 됩니다!

thread.setDaemon(true);
thread.start();

 


이상으로 간단한 Handler의 사용법과 DaemonThread의 용도도 함께 알아보았습니다!

 


 

반응형

+ Recent posts