반응형
<계속 업데이트 합니다 질문 환영>
자바를 해본지가 워낙 오래되어 놓으니 Thread도 제대로 못 만들어 헉헉된다.
안드로이드에서 Thread를 쓰려면 두개의 Runnable이 기본으로 생성되어야 하는 것 같다.
1. Thread 생성
자바의 Thread를 만드는 것과 같다. 하지만 대부분 UI와 통신을 하기 위해서는 두개의 Runnable을 만드는게 일반적이다.
private final Handler h = new Handler();
private final Runnable uiProcess = new Runnable() {
public void run() {
자바를 해본지가 워낙 오래되어 놓으니 Thread도 제대로 못 만들어 헉헉된다.
안드로이드에서 Thread를 쓰려면 두개의 Runnable이 기본으로 생성되어야 하는 것 같다.
1. Thread 생성
자바의 Thread를 만드는 것과 같다. 하지만 대부분 UI와 통신을 하기 위해서는 두개의 Runnable을 만드는게 일반적이다.
private final Handler h = new Handler();
private final Runnable uiProcess = new Runnable() {
public void run() {
// UI와 통신을 담당, 버튼을 바꾸거나 seekbar를 수정하는 등
}
};
private Runnable mythread = new Runnable() {// Child Thread
public void run() {
while (threadFlag) {
};
private Runnable mythread = new Runnable() {// Child Thread
public void run() {
while (threadFlag) {
h.post(uiProcess);
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
쓰레드를 만들고 싶은 곳에서 mythread 를 만들어 start 시키면 된다.
Thread mMythread = new Thread(null, mythread, "mythread");
mMythread.start();
Child thread에서 threadFlag를 하나 넣은 이유는 자바가 stop 메소드가 deprecated 된 듯 하다.
thread를 종료시키는 제대로 된 루틴이 필요할 것 같다.
일단 심플하게 threadFlag를 넣는 걸로 처리했다.
};
쓰레드를 만들고 싶은 곳에서 mythread 를 만들어 start 시키면 된다.
Thread mMythread = new Thread(null, mythread, "mythread");
mMythread.start();
Child thread에서 threadFlag를 하나 넣은 이유는 자바가 stop 메소드가 deprecated 된 듯 하다.
thread를 종료시키는 제대로 된 루틴이 필요할 것 같다.
일단 심플하게 threadFlag를 넣는 걸로 처리했다.
반응형
'개발 > 안드로이드 App' 카테고리의 다른 글
[팁] Quick Search Box 막기(안뜨게 하기) (0) | 2010.06.19 |
---|---|
MediaPlayer (0) | 2010.06.17 |
[Widget 스터디] Seekbar (4) | 2010.06.16 |
TextView에 여러개의 style을 갖는 문자열 넣기 (0) | 2010.06.13 |
[팁] 용량이 없다고 안올라가는 경우 발생:Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE (0) | 2010.06.13 |