728x90
반응형
android에서는
thread를 이용해서 백그라운드에서 실행될 부분들을 정의해줄 수 있다.
그리고 thread를 활용하면서 메인 실행부와 충동이 있을 수 있기 때문에
thread 안에서는 handler을 이용해서
UI 작업을 하는 것 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
thread = new Thread() {
public void run() {
while(isThread){
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.sendEmptyMessage(0);
}
}
};
thread.start();
|
cs |
thread를 활용하기 위해서 먼저 위와 같이
Thread 객체를 만들어줘야한다. (1)
그 후에 run() 함수에 백그라운드에서 실행될 부분을 정의해준다. (2~12)
정의해준 thread 객체를 실행한다. (13)
이 때 thread를 종료 시키기 위해서는 3열의 isThread에 false를 넣어서 while문이 끝나게하는 식으로 하면 된다.
그리고 9열에서 handler을 사용하는데 그때 밑의 handleMessage() 함수가 호출된다.
1
2
3
4
5
6
|
private Handler handler = new Handler() {
@Override
public void handleMessage(@NonNull Message msg) {
Toast.makeText(getApplicationContext(), "만두만두", Toast.LENGTH_SHORT).show();
}
};
|
cs |
handler.sendEmptyMessage()의 parameter를 msg.what을 통해서 반환 받을 수 있다.
그래서 parameter을 이용해서 여러 종류의 UI 작업을 정의할 수 있다.
728x90
반응형
'Android App' 카테고리의 다른 글
Service (백그라운드) in Android Studio (0) | 2021.08.09 |
---|---|
dialog (팝업창) in Android Studio (0) | 2021.08.08 |
java 주석, Log in Android Studio (0) | 2021.08.02 |
RecyclerViewWithEditText in Android Studio (0) | 2021.08.02 |
Fragment 전환 in Android Studio (0) | 2021.08.02 |