Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- CrossAxisAlignment
- FutureBuilder
- ListTile
- sqlite
- HTTP
- Snackbar
- flutter
- Flutter 예제
- Image.network
- Column Widget
- Load Image
- navigator
- Networking
- Flutter 강좌
- Flutter Example
- 반석천
- node.js
- listview
- WillPopScope
- Row Widget
- Hello World
- Flutter 앱 배포
- ListView.builder
- InkWell
- Scaffold
- Flutter Tutorial
- Row
- Cached Image
- MainAxisAlignment
- AppBar
Archives
- Today
- Total
꿈꾸는 시스템 디자이너
Activity, Thread, Handler 사용법 본문
Activity에서 Thread를 생성하여 이용하면서, 생성된 Thread가 Activity의 내부를 참조할 필요가 있을 경우 문제가 발생할 수 있다.
Thread가 Activity의 멤버 변수를 참조하는 것은 문제가 없지만, 뷰 객체(GUI 객체)는 참조할 수 없다. 런타임시 문제가 발생한다.
이처럼 뷰 객체와 같이 직접 참조가 불가능한 객체를 참조해야할 필요가 있는 경우에는 Activity에 핸들러를 구현하여 간접 참조하는 방식을 이용한다.
1. 스레드 사용법
public void onCreate(Bundle savedInstanceState) {
...
MyThread thread = new MyThread();
thread.setDaemon(true); //Activity가 종료하면, 생성한 thread도 함께 종료됨.
thread.start();
}
2. 핸들러 사용법
Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 0) {
//수행할 장업
//멤버 참조
}
}
};
class MyThread extends Thread{
public void run(){
...
myHandler.setEmptyMessage(0); //핸들러로 메시지 전달
...
}
}
눌러주시면 큰 힘이 됩니다.
'Development > Android' 카테고리의 다른 글
기본적인 View 사용법 2 (0) | 2012.04.03 |
---|---|
기본적인 View 사용법 1 (0) | 2012.02.02 |
엑티비티에서 ACTION_USB_ACCESSORY_ATTACHED 액션 받기에 관한 고찰 (0) | 2012.01.13 |
Android 악세사리 디스크립터 생성 및 적용 (3) | 2012.01.11 |
[번역] USB Accessory for Android(안드로이용 USB 악세사리) (0) | 2012.01.02 |
Comments