안드로이드에서 쓰레드는 어떻게 돌리나요?


연습삼아서 화면에 정의한 간격으로 문자열을 출력하는 애플리케이션을 만들어보고 있는데요. 쓰레드를 돌리려고

handler = new Handler();
Runnable r = new Runnable() {
    public void run() {
        tv.append("Hello World");               
    }
};
handler.postDelayed(r, 1000);

이런 식으로 Handler 클래스를 사용했는데 실행을하면 딱 한번만 출력이돼요. 쓰레드를 계속 돌리는 법좀 가르쳐 주세요.

  • 2016년 02월 04일에 작성됨

조회수 186


1 답변


좋아요
0
싫어요
채택취소하기
handler = new Handler();

final Runnable r = new Runnable() {
    public void run() {
        tv.append("Hello World");
        handler.postDelayed(this, 1000);
    }
};

handler.postDelayed(r, 1000);

약간 수정해봤습니다. 아니면 보통의 쓰레드처럼 하는 방법은

Thread thread = new Thread() {
    @Override
    public void run() {
        try {
            while(true) {
                sleep(1000);
                handler.post(this);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
};

thread.start();

이런식으로 하시면됩니다.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close