- 2011/10/20 09:57
- ricetable.egloos.com/210455
- 덧글수 : 0
안드로이드 어플의 대부분은 UI 프로그래밍이 주를 이룬다.
이러한 UI 프로그래밍에서 가장 중요한 부분이 바로,
이 벤 트 핸 들 링 (Event Handling)!!!
이벤트 핸들링이 이루어지기 위한 구성요소(?), 과정(?) 을 알아보자.
이벤트란 버튼 클릭, 화면 드래그 등 사용자가 어플과의 액티비티를 위해 발생되는 행위들을 말할 수 있겠다.
그러기 위해서 이벤트를 발생시킬 수 있는 재료,
이벤트 소스 (Event Source)가 필요하고,
이벤트가 발생되는지를 감시하는,
이벤트 리스너 (Event Listener)가 필요하겠다.
마지막으로 이러한 이벤트가 발생했을 때, 어떠한 일이 발생하게 할 것인가 하는 것이
이벤트 핸들러 (Event Handler) 가 필요하다.
결국
이벤트 소스, 이벤트 리스너, 이벤트 핸들러가
이벤트 핸들링의 코드의 순서이자 전부!ㅋㅋㅋㅋ
이벤트 소스의 등록은 main.xml 에서
이벤트 리스너, 이벤트 핸들러는 XXXActivity.java에서 해주면 된다.
이러한 UI 프로그래밍에서 가장 중요한 부분이 바로,
이 벤 트 핸 들 링 (Event Handling)!!!
이벤트 핸들링이 이루어지기 위한 구성요소(?), 과정(?) 을 알아보자.
이벤트란 버튼 클릭, 화면 드래그 등 사용자가 어플과의 액티비티를 위해 발생되는 행위들을 말할 수 있겠다.
그러기 위해서 이벤트를 발생시킬 수 있는 재료,
이벤트 소스 (Event Source)가 필요하고,
이벤트가 발생되는지를 감시하는,
이벤트 리스너 (Event Listener)가 필요하겠다.
마지막으로 이러한 이벤트가 발생했을 때, 어떠한 일이 발생하게 할 것인가 하는 것이
이벤트 핸들러 (Event Handler) 가 필요하다.
결국
이벤트 소스, 이벤트 리스너, 이벤트 핸들러가
이벤트 핸들링의 코드의 순서이자 전부!ㅋㅋㅋㅋ
이벤트 소스의 등록은 main.xml 에서
이벤트 리스너, 이벤트 핸들러는 XXXActivity.java에서 해주면 된다.
- 2011/10/19 19:47
- ricetable.egloos.com/209194
- 덧글수 : 0
모든 프로그래밍의 시작은 단연코,







Hello World 가 시작이 될 것이다.
먼저 AVD 에뮬을 띄워놓고, (로딩에 시간이 좀 걸리니깐 미리 띄워놓는게 좋다.)
File -> New -> Android Project 를 클릭하여 안드로이드 프로젝트를 시작해보자.

여기서 잠깐 살펴볼 것은,
- Project Name : 말 그대로 프로젝트의 이름이 된다.
- Application Name : 어플리케이션 이름으로 프로젝트 명과 동일하게 간다.
- Package name : 자바의 패키지명. 뭐 다들 알잖아?ㅋㅋㅋ
- Create Activity : 이것이 안드로이드 시작의 주요 개념이다! 액티비티가 뭔지 알아볼까?
* Activity *
- 액티비티.... 활동.... 뭔 활동이냐?
- 유저와 어플이 서로 상호작용하는 활동 정도로 말할 수 있겠다.
- 안드로이드에서는 이놈의 액티비티가 실행을 하기 위한 기본단위가 되는데, 좀 요약해서 한줄로 말해본다면~
- 즉, 유저와 안드로이드 어플이 서로 상호작용하기 위한 실행의 기본단위!
- 라고 하겠다~~~
그럼, next> 를 클릭하고 Finish를 클릭해서 프로젝트를 생성하자!
이클립스 옆에 보면,

이러한 구조로 프로젝트가 생성이 되있는 것을 볼 수 있다.
자, 그럼 그냥 한번 실행해보자! (두둥)
Run as -> Android application 으로 실행해보면,

아니, 뭐 내가 한것도 없는데, Hello World가 잘 뜬다...?
어떻게 된 건지 파해쳐보자!
■ 먼저 src - HelloWorldActivity

자알 보면 main() 이 없다.......란 것은???
Android의 Life-Cycle은 누군가가 관리한다는 거겠지? SDK! 요놈일꺼야~
이미 WAS나 Struts / Spring Framework 를 공부하면서 이런건 많이 봐왔으니 패스~
그럼, 요 Activity 클래스가 진입점이 된다는 모양새구나! i see~
onCreate() 메서드를 보니
setContentView(R.layout.main);
이 보인다.
메서드 명을 보니 Content 에 대한 View 를 설정한다는 뜻 같은데;;
요놈은 Activity 클래스의 메서드로 int 형의 리소스 아이디나 View 클래스를 인자로 받아서
해당 액티비티가 실행될 때 사용할 뷰를 등록해주는 역할이란다.
말이 좀 복잡한데,,,
사용자와 상호작용하려면 인터페이스가 필요하잖아?
쉽게 말해 그 인터페이스를 등록하는 행동이라고 할 수 있지.
뭐, 버튼, 리스트, 에디트, .. 등등 이런게 다 View 클래스에 포함되어 있대.
대충 여기까지 하고,
R.layout.main ---> 이건 뭘까? 위에 구조그림을 보면, R.java 라는게 보인다!
이 파일을 열어보면 무섭게도 협박문이 보인다.

"자동 생성 파일이니 건드리지 마시오!"
알았어.. 치사해서 안건드린다..
사실 이건 리소스 아이디를 저장하는 클래스야. MFC에도 비슷한게 있었는데,, 기억이 안남;;;
암튼 res 폴더의 리소스를 사용할 수 있게 하는거니깐, 뭐 알아서 등록/삭제가 되니 건드리진 말고,
뭐 보니,,, 죄다 final 클래스에 Nested 클래스까지... 자바의 기본내용을 좀 알아야겠지?
대충, 어디서든 접근할 수 있지만, 값을 변경할 수 없게 만들었다는 정도로만 알자. 자바시간은 아니니깐..
여기서 layout 클래스에 main 에 주소값이 있다.
요건 res 폴더의 layout 폴더의 main.xml 과 연동이 된다는 사실!
■ 자, 다음은 asset
이건 기본으로 포함할 파일을 넣어두는 곳이래. 아직 배워보진 못해서 대충 그정도로만.
■ res 폴더
리소스 파일을 넣어두는 곳.
리소스는 이미지, 문자열, 등등인데 이걸 보관하는 곳이겠지?
drawable 은 이미지를 보관하는 폴더야. 크기별로 hi lo mid 가 있는데, 뭐 상관은 없는 듯.
중요한건 layout 폴더와 values 폴더에 있는 main.xml 파일과 strings.xml
main.xml 파일은 layout 이란 이름의 폴더에 있듯이,
어플의 GUI 구성요소 배치정보를 xml 형식으로 저장한 파일이야.
xml 형식이란 것에서 알 수 있듯이, 하드코딩적 요소를 줄이려고 사용했다는게 보이지?

저기 TextView 태그의 android:text 속성을 보니 string의 hello를 찾는데.. 이건 바로 밑의 strings.xml 파일의 hello
strings.xml 파일은 문자열을 저장하는 파일이야.
여기에 바로 우리가 본 HelloWorld 문자가 있었구나~~~~~~~~

■ HelloWorld 정리
자, 대충 어떤 식으로 동작하는지 알 수 있겠다.
HelloWordlActivity -> R.java -> main.xml -> strings.xml
이런식으로 동작하는 걸 알 수 있었다.
- 2011/10/18 12:39
- ricetable.egloos.com/206443
- 덧글수 : 1
* 설치하기 *
1. android SDK 다운로드하기
- http://developer.android.com/sdk/index.html 에서 zip 파일 다운로드 후 압축 풀기

2. Eclipse 에서 ADT(Android Development Tool) plug-in 설치
- Help -> Install new software 에서 add
- location 에 http://dl-ssl.google.com/android/eclipse 입력

- 위에 Select All 을 누르고 설치 진행~~~
3. SDK path 지정
- 상단 메뉴 : window -> preference ->Android 의 SDK location 지정

4. AVD(Android Virtual Device) 생성
- 상단메뉴의 window ->android sdk and avd manager (또는 안드로이드 메뉴 아이콘) 클릭
- Available package 선택
- 사용할 SDK 버전 클릭 후 다운로드
- Virtual Device 선택
- New.. 클릭 후 설정

- start 클릭하여 에뮬레이터 실행
* 한글 키워드 입력 *
- 언어를 한글로 선택해도 한글입력이 안된다. 이럴 땐,
- HangulKeyboard.apk 파일을 ..\android-sdk-windows\platform-tools 폴더에 복사
- 콘솔창을 열고,
d:\android-sdk-windows\platform-tools>adb install HangulKeyboard.apk
입력
- success이면 에뮬레이터 화면에서 [한글 접촉식 키보드] 선택

- 에뮬레이터를 다시 시작!
- 2011/10/11 19:43
- ricetable.egloos.com/191371
- 덧글수 : 0
* 설정 파일 작성 *
- 이전에 설명한 AOP 적용순서를 기억한다.
1. 공통 기능 정의
2. 대상 지정
3. 적용 시점 지정
- AOP 설정 파일 예

위의 예로 AOP 설정 태그를 설명하면,
1. <bean id="logging" class="aop.common.CommonAspect"/> : 공통 기능 정의 클래스 DI
2. <aop:config> : AOP 설정의 root 태그.
3. <aop:pointcut> : 대상 지정. Advice에서 참조할 pointcut 설정.
4. <aop:aspect> : Aspect 설정 - 하나의 Aspect 설정으로서 여러개일 경우 <aop:aspect>태그가 여러개 온다.
5. <aop:before> : Advice 설정태그.





최근 덧글