- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록handler (7)
드럼치는 프로그래머
안드로이드에서 타이머 구현 하기 개발환경 : JDK 1.6, Android 2.1, window XP 이번에는 안드로이드에서 타이머 구현 방법에 대해 언급할려고 한다. 쓰임세는 다양하다. 게임에서 시계표시를 할수 있고 타이머 관련 구현도 가능하며 시간 간격에 맞게 어떤 작업을 수행하고자 할때도 쓰일것이다. 그래서 한번은 정리할 필요가 있었다. (1) java 에서 주로 쓰는 방법 안드로이드는 java를 기반으로 하기 때문에 java 에서 사용하는 타이머 구현 방법을 떠올릴 것이다. Java 에서 구현하는 방법은 여러가지가 있는데 그 첫번째는 스레드를 이용하는 것이다. 추상클래스인 Runnable 를 상속받던지 아니면 Thread 클래스를 생성해서 run 함수를 구현하는데 그 속에 일정한 간격으로 루프를 ..
핸들러... 간단한 예제를 만들며 시작해 보자.. ?main.xml MainActivity.java package com.test.ThreadTest; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements View.OnClickListener { /** Called when the activity is first created. */ TextView tv1; My..
C. 루퍼(Looper) 앞서 스레드에 대한 설명을 보면 핸들러를 이용하여 서로 메시지를 주고 받을수 있게 하여 서로의 변화를 알릴 수 있습니다. 하지만 이렇게만 알고 있다면 큰 오산입니다. 서브 스레드의 경우 메시지를 보낼 수 있는 것은 핸들러의 예제를 통해 확인했습니다. 하지만 서브 스레드의 경우 메시지를 받지는 못합니다. 메인 스레드만이 메시지를 받을 수 있습니다. 왜냐하면 메인 스레드에는 루퍼가 있기 때문입니다. 메시지 큐(Message Queue) 메시지는 스레드 간의 신호입니다. 이는 메서드처럼 호출한다고 바로 실행되는 것이 아니라 순서대로 처리가 됩니다. 자료구조에서 배우는 큐를 사용한다고 보시면 됩니다. 메시지를 쌓아 두는 공간이 바로 메시지 큐입니다. 루퍼(Looper) 루퍼는 메시지 큐..
B. 핸들러 핸들러(Handler) 한 스레드는 그 내부의 연산만 가능하며 다른 스레드의 UI를 건드릴 수 없습니다. 그런데 만약 스레드들이 서로 영향을 줄 수 없다면 스레드의 존재 이유가 없겠죠. 이런 서로 다른 스레드 간의 참조를 위해서 스레드 간에 통신할 수 있는 장치를 만들었는데 그것이 핸들러입니다. 핸들러는 스레드 간에 메시지 객체나 러너블 객체를 통해 통신할 수 있는 장치이며, 하나의 핸들러는 하나의 스레드와 관련을 맺습니다. 핸들러는 자신이 생성된 스레드에 짝이 되며 다른 스레드와 통신을 수행하게 됩니다. 핸들러의 메시지 수령 핸들러에 메시지가 도착하게 되면 아래의 메서드가 호출됩니다. public void handleMessage(Message msg) 인수로 메시지 객체를 전달받는데 이는..
스레드(Thread) 차례 A. 스레드 B. 핸들러 C. 루퍼 A. 스레드 스레드는 작업을 독립적으로 실행시키는 능력입니다. 여러 독립적인 작업을 동시에 실행하는 것은 멀티 스레드라고 부릅니다. 이런 멀티 스레드를 사용할 때에는 스레드 간의 동기화를 고려해야 합니다. 특히나 안드로이드는 자바 기반으로 만들어졌기 때문에 멀티 스레드를 지원합니다. 스레드는 이렇게 독립적으로 실행시키는 능력이라서 조금이라도 복잡해지는 어플리케이션에서 매우 유용하게 쓰입니다. 특히 한 어플리케이션에서 두 가지 작업을 해야 할 때는 필수이죠. 또한 스레드를 이용해서 시간을 체크할 수도 있고 시간 지연을 줘서 타이밍 좋게 여러가지를 다룰 수 있습니다. 예로 들면 어떤 작업이 0.5초만 늦춰지면 톱니바퀴가 딱 맞아 떨어질텐데 그렇게..
[First written by Steve Guo, please keep the mark if forwarding.] Steve Guo 의 자료를 번역함과 동시에 개인적으로 스터디 한 내용을 추가하였습니다. 안드로이드 Thread는 자신과 결합된 메시지큐 가 없으므로 Looper 와 통신할 수 있는 핸들러를 가지고 있어야 한다. class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message msg) { // process incoming messages here } }; Looper...
@@@ 기억력 메뉴 게임 만들기 @@@ 1. 도형 3가지 (원,사각형,삼각형) 2. 도형의 색상과 크기(임의로 정의) 3. 사용자 선택 - 1) 빈화면 선택 - 선택 내용 무시 2) 새로운 도형 선택 - 화면 초기화 - 기존도형(원래위치) - 새로운 도형(임의로 ) - 기존 도형과 절대로 겹치기 않는다 - 화면에 걸치지도 않는다. 3) 기존 도형 선택 - 경고창(새로운 게임 or 종료) @@ 기본 구조 @@ package. ~~~~~~~~~~~~~~~~~~~; public class ~~~ extends Activity { onCreate(){ } class shape{ } class GameView{ } } @@@ java @@@ package com.android.game; import android..