- 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 |
- 재능이의 돈버는 일기
- 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
- 무의식이 의식을 지배한다
목록★─Programing (620)
드럼치는 프로그래머
모든 모양(동그라미,네모,세모 등.)에 보이지 않는 사각형을 배경에 배치시킨 뒤, 충돌검사를 하는데 거기에 쓰이는 함수는 아래와 같다. android.graphics.Rect.contains 함수 : 좌표가 boundary에 포함되었는지 확인. android.graphics.Rect.intersect 함수 : 좌표가 boundary에 교차되었는지 확인. 참고 : http://developer.android.com/reference/android/graphics/Rect.html [뷰에서 키보드 이벤트 받기 설정] 안드로이드에서는 기본적으로 View는 터치 모드가 기본 모드이다. 그러므로 뷰에서 키보드 모드를 쓸 수 있도록 View 객체의 아래와 같은 함수로 설정 해줘야한다. public void onCr..
토스트는 안드로이드에서 사용자에게 간단한 메시지를 전할 수 있는 방법중 하나이다. 제일큰 특징중 하나는 토스트가 나타나면 사용자가 Back 또는 Home 키를 눌러도 없어지지 않는다는 것이다. 사용자가 꼭 읽어야 할 문구가 있다면 Toast로 보여주는것이 좋을것 같다. 쓰는 방법은 다음과 같다. Toast.makeText(this, "hello", Toast.LENGTH_SHORT).show(); 그럼 조금 더 복잡한 토스트를 만들어보자. 토스트를 새로 처음부터 생성하는 방법도 있지만 makeText로 만들어진 토스트를 이용하는 방법도 있다. makeText로 만들어진 Toast는 LinearLayout 안에 TextView하나로 이루어져 있다. 이것을 이용해서 다음과 같이 그림이 들어있는 토스트를 만들..
C. 루퍼(Looper) 앞서 스레드에 대한 설명을 보면 핸들러를 이용하여 서로 메시지를 주고 받을수 있게 하여 서로의 변화를 알릴 수 있습니다. 하지만 이렇게만 알고 있다면 큰 오산입니다. 서브 스레드의 경우 메시지를 보낼 수 있는 것은 핸들러의 예제를 통해 확인했습니다. 하지만 서브 스레드의 경우 메시지를 받지는 못합니다. 메인 스레드만이 메시지를 받을 수 있습니다. 왜냐하면 메인 스레드에는 루퍼가 있기 때문입니다. 메시지 큐(Message Queue) 메시지는 스레드 간의 신호입니다. 이는 메서드처럼 호출한다고 바로 실행되는 것이 아니라 순서대로 처리가 됩니다. 자료구조에서 배우는 큐를 사용한다고 보시면 됩니다. 메시지를 쌓아 두는 공간이 바로 메시지 큐입니다. 루퍼(Looper) 루퍼는 메시지 큐..
B. 핸들러 핸들러(Handler) 한 스레드는 그 내부의 연산만 가능하며 다른 스레드의 UI를 건드릴 수 없습니다. 그런데 만약 스레드들이 서로 영향을 줄 수 없다면 스레드의 존재 이유가 없겠죠. 이런 서로 다른 스레드 간의 참조를 위해서 스레드 간에 통신할 수 있는 장치를 만들었는데 그것이 핸들러입니다. 핸들러는 스레드 간에 메시지 객체나 러너블 객체를 통해 통신할 수 있는 장치이며, 하나의 핸들러는 하나의 스레드와 관련을 맺습니다. 핸들러는 자신이 생성된 스레드에 짝이 되며 다른 스레드와 통신을 수행하게 됩니다. 핸들러의 메시지 수령 핸들러에 메시지가 도착하게 되면 아래의 메서드가 호출됩니다. public void handleMessage(Message msg) 인수로 메시지 객체를 전달받는데 이는..
스레드(Thread) 차례 A. 스레드 B. 핸들러 C. 루퍼 A. 스레드 스레드는 작업을 독립적으로 실행시키는 능력입니다. 여러 독립적인 작업을 동시에 실행하는 것은 멀티 스레드라고 부릅니다. 이런 멀티 스레드를 사용할 때에는 스레드 간의 동기화를 고려해야 합니다. 특히나 안드로이드는 자바 기반으로 만들어졌기 때문에 멀티 스레드를 지원합니다. 스레드는 이렇게 독립적으로 실행시키는 능력이라서 조금이라도 복잡해지는 어플리케이션에서 매우 유용하게 쓰입니다. 특히 한 어플리케이션에서 두 가지 작업을 해야 할 때는 필수이죠. 또한 스레드를 이용해서 시간을 체크할 수도 있고 시간 지연을 줘서 타이밍 좋게 여러가지를 다룰 수 있습니다. 예로 들면 어떤 작업이 0.5초만 늦춰지면 톱니바퀴가 딱 맞아 떨어질텐데 그렇게..
액티비티 전체 구성 액티비티 액티비티 추가 절차 액티비티 시작 액티비티 리턴 액티비티의 상태 액티비티 라이프 사이클 액티비티(Activity) 안드로이드 응용프로그램을 구성하는 네 가지 컴포넌트 중 하나로 중추 역할을 맡고 있다. 우리가 보게 되는 화면 전체가 액티비티이다. 액티비티는 반드시 뷰를 가져야 하며 뷰는 서로 중첩이 가능하지만 액티비티는 서로 중첩되지 않는다. 보편적으로 클래스를 생성하고 그 클래스가 액티비티 클래스(Activity)를 상속 받으면 하나의 액티비티가 된다. 액티비티 추가 절차 1. 새로운 액티비티의 레이아웃에 관하여 작성한 XML, 그리고 자바코드를 만든다. 2. 기존의 액티비티에서 새로운 액티비티를 호출하는 메서드를 추가한다. (startActivity 메서드) 3. 매니페스..
1년이나 이일을 하면서 늘 보아왔지만 오늘에서야 직접 찾아보고 뜻을 하게되었다..(허접한 Yaron.. 그러고도 프로그래머라고...) 먼저 PARAM은 파라미터(Parameter)의 줄임말이다.(이것은 대충 감으로 잡았으리라 본다) 그렇다면 앞에 붙은 W, L은 무엇이란 말인가?? 먼저 W는 WORD의 약자이다. 즉 WPARAM이란 WORD PARAMETER라는 결과를 얻을수 있다... 다음으로 L은 LONG의 약자이다. 즉 LPARAM이란 LONG PARAMETER라는 결과도 얻을수 있을 것이다. 일반적으로 사용을 할때는 WPARAM으로는 핸들 or 정수를 받아들일때 사용한다. 필자는 DWORD형을 받아들이는 것을 보고 이 글을 쓰게되었다.(저놈은 먼데 값을 마음대로 받아들이나 라는 허접한 생각에.....
아 개념이 완전히 잡혔었다 생각했었는데 역시 군대가서 머리가 포맷된듯... 그것도 로우레벨 포맷 3회로!!!!!!! 아무튼 오버로딩과 오버라이딩의 차이점을 알아보자... - 오버로딩 : 기존에 메소드의 인자를 이용하여서 하나의 함수에 여러가지 기능을 만드는것. (어렵다..... 젠장 말이 어렵다 어려워~) 기존에 int a(int a);라는 함수와 또다른 int a(int a, char b)가 존재한다고 가정한다. main()에서 호출시 a(10); 이라고 호출하게 되면 첫번째 int a(int a)라는 함수가 호출된다. 만약 a(10,'x'); 를 호출했다면 후자인 int a(int a,char b)가 호출되게 된다. ( 이것이 오버로딩!!!!!!!!) 이것은 주로 생성자 메소드를 정의할 때 많이 사용..
MFC에서는 여러가지의 자료형을 쓴다... 전혀 생소한녀석들로 말이지;;; 좀 보고 숙지.....(말만... 걍 외워야지 뭐 ㅠㅠ)하자!!! LPSTR : A 32-bit pointer to a character string 이 데이터형 같은 경우는 예전에 사용하던 방식으로 선언하면 와 같은 경우이다. 유니코드를 지원하지 않기 때문에 각각의 문자는 1바이트를 가진다. LPCSTR : A 32-bit pointer to a constant character string 이 데이터형 같은 경우는 예전에 사용하던 방식으로 선언하면 와 같은 경우이다. 이것 역시 유니코드를 지원하지 않기 때문에 각각의 문자는 1바이트를 가집니다. LPTSTR : A 32-bit pointer to a character strin..
뭐 윈도우에 핸들을 리턴하는 함수이고 GetSafeHwnd()는 윈도우에 핸들을 리턴하신단다;;; 윈도우가 존재하지 않으면 NULL;;;; if(dlg.GetSafeHwnd() == NULL ) dlg.Create( IDD_DIALOG1 ); dlg.ShowWindow(SW_SHOW); // 소스의 해석을 보면 간단하다.... 윈도우가 존재하지 않으면 다이얼로그를 생성하고 윈도우를 보여준다; 뭐냐;;; [출처] MFC GetSafeHwnd()|작성자 반만년돼지