- 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
- 무의식이 의식을 지배한다
목록android (171)
드럼치는 프로그래머
모든 모양(동그라미,네모,세모 등.)에 보이지 않는 사각형을 배경에 배치시킨 뒤, 충돌검사를 하는데 거기에 쓰이는 함수는 아래와 같다. 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하나로 이루어져 있다. 이것을 이용해서 다음과 같이 그림이 들어있는 토스트를 만들..
이클립스를 실행했을 때, "Failed to create the java virtual machine" 이라는 경고창과 함께 실행이 안되는 경우가 있다. 해석 그대로 이클립스가 jvm을 찾지 못해서 생기는 에러인데, 컴퓨터를 리붓만 해도 해결이 되는 경우도 있으나 보다 근본적인 해결책으로 이클립스에게 수동으로 jvm을 인식시켜야 한다. 이클립스 폴더에서 "eclipse.ini" 파일을 열어보자. :: eclipse.ini -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -..
C. 루퍼(Looper) 앞서 스레드에 대한 설명을 보면 핸들러를 이용하여 서로 메시지를 주고 받을수 있게 하여 서로의 변화를 알릴 수 있습니다. 하지만 이렇게만 알고 있다면 큰 오산입니다. 서브 스레드의 경우 메시지를 보낼 수 있는 것은 핸들러의 예제를 통해 확인했습니다. 하지만 서브 스레드의 경우 메시지를 받지는 못합니다. 메인 스레드만이 메시지를 받을 수 있습니다. 왜냐하면 메인 스레드에는 루퍼가 있기 때문입니다. 메시지 큐(Message Queue) 메시지는 스레드 간의 신호입니다. 이는 메서드처럼 호출한다고 바로 실행되는 것이 아니라 순서대로 처리가 됩니다. 자료구조에서 배우는 큐를 사용한다고 보시면 됩니다. 메시지를 쌓아 두는 공간이 바로 메시지 큐입니다. 루퍼(Looper) 루퍼는 메시지 큐..
B. 핸들러 핸들러(Handler) 한 스레드는 그 내부의 연산만 가능하며 다른 스레드의 UI를 건드릴 수 없습니다. 그런데 만약 스레드들이 서로 영향을 줄 수 없다면 스레드의 존재 이유가 없겠죠. 이런 서로 다른 스레드 간의 참조를 위해서 스레드 간에 통신할 수 있는 장치를 만들었는데 그것이 핸들러입니다. 핸들러는 스레드 간에 메시지 객체나 러너블 객체를 통해 통신할 수 있는 장치이며, 하나의 핸들러는 하나의 스레드와 관련을 맺습니다. 핸들러는 자신이 생성된 스레드에 짝이 되며 다른 스레드와 통신을 수행하게 됩니다. 핸들러의 메시지 수령 핸들러에 메시지가 도착하게 되면 아래의 메서드가 호출됩니다. public void handleMessage(Message msg) 인수로 메시지 객체를 전달받는데 이는..
스레드(Thread) 차례 A. 스레드 B. 핸들러 C. 루퍼 A. 스레드 스레드는 작업을 독립적으로 실행시키는 능력입니다. 여러 독립적인 작업을 동시에 실행하는 것은 멀티 스레드라고 부릅니다. 이런 멀티 스레드를 사용할 때에는 스레드 간의 동기화를 고려해야 합니다. 특히나 안드로이드는 자바 기반으로 만들어졌기 때문에 멀티 스레드를 지원합니다. 스레드는 이렇게 독립적으로 실행시키는 능력이라서 조금이라도 복잡해지는 어플리케이션에서 매우 유용하게 쓰입니다. 특히 한 어플리케이션에서 두 가지 작업을 해야 할 때는 필수이죠. 또한 스레드를 이용해서 시간을 체크할 수도 있고 시간 지연을 줘서 타이밍 좋게 여러가지를 다룰 수 있습니다. 예로 들면 어떤 작업이 0.5초만 늦춰지면 톱니바퀴가 딱 맞아 떨어질텐데 그렇게..
보호되어 있는 글입니다.
[\assets폴더] -애플리케이션 배포시 static하게 패키지에 포함 시킬 리소스 저장 폴더. (컴파일되지 않고 raw형태로 패키징되며, AssetManager 클래스를 이용해 바이트 스트림 형식으로 읽어 와서 사용함.) [\bin폴더] -컴파일된 자바 class바이너리가 저장되는 폴더. ◈bin/classes 폴더 : 컴파일된 자바 코드 ◈bin/classes.dex : 실행가능한 컴파일된 자바 코드 ◈bin/AppName-debug.apk 또는 bin/AppName-unsigned.apk : install가능한 안드로이드 애플리케이션 [\gen폴더] -프로젝트를 처음 빌드하면 프로젝트 루트 폴더 밑에 gen이라는 이름의 폴더 생성되고, 내부에는 R.java 파일이 자동으로 생성됨. R.java 파..
안녕하세요? 프쟁이 입니다. 메뉴항목을 처음에 안보이게 했다가, 프로그램을 사용하면서, 특정 조건이나, 조작을 했을때 다시 보이게 했다가, 다시 숨기는 등의 처리를 하는 경우가 있을 수 있습니다. 먼저 /res/menu/menuTemplate.xml 파일을 만드시고, 아래와 같이 입력합니다. 먼저 menu 루트태그안에 item 태그가 세개가 있지만, 두번째 item 태그의 속성이 android:visible="false"로 되어있고, 세번째 item태그를 감싸는 group태그의 속성이 android:visible="false" 로 되어있어서, 첫번째 item 태그의 메뉴항목만 메뉴를 표시했을때 보이게 됩니다. 이제 액티비티 자바파일을 만드시고, 다음과 같이 입력합니다. public class 액티비티클래..
WindowManager manager = (WindowManager) context // 윈도우 매니저 객체 얻어오기 .getSystemService(Context.WINDOW_SERVICE); Display display = manager.getDefaultDisplay(); // Display 객체 얻어오기 width = display.getWidth(); // 화면의 폭 얻어오기 height = display.getHeight(); // 화면의 높이 얻어오기