1. 안드로이드 프로젝트를 만든다는 것은?
main() 함수 (infinite looper와 Queue)를 자동으로 만들어 주며, 이 main함수는 프로젝트에 보이지 않는다.
; Activity와 사용자 class들만 작업하는 것이라고 보면 된다.
2. Androidmaifestt.xml
→ 에 Activiy, intent-filter 등을 등록하고, 어떤 Activity가 Main launch인지를 구성한다.
* intent의 경우 install할때 PM(package manager가 intent를 시스템에 등록해 준다)
3. Layout이나, resource를 장만해야 한다.
→ Layout에 콘트롤들을 늘어 놓는데, 이때 @+id 를 이용해서 id를 추가하게 된다.
이때 +의 의미는 +가 있어야 R class에 등록을 해 준다.
→ 이것은 Class R에 ID들이 생성되는데, 이런 Layout은 각각의 ID번호를 직접 갖게 된다.
→ 이런 생성된 resource들을 필요한 Activity에서 onCreate()에서 확보하게 되는데, 이는 다음과 같다. 결국 R.lauout.main을 등록하게 되면 R.id.을 이용해서 control을 가져올 수 있다.
한마디로 R.java에 ID가 생성된 것들은 말이지, 실행될때 이미 객체로서 활동한다는 의미 또는 class로서의 의미를 이미 갖추고 있다는 의미로서 자신 들이 control 당할 method들을 이미 가지고 있다.
4. 자, 그러면 재미있는 것은 뭐냐 하면, 뭐든지 개별 아이템에 대한 Adapter를 설정후에, 그것을 전체 View에다가 set한다는 재미있는 설정이다.
; 게다가 control(view)에다가 Listener도 건다는 재미있는 설정이다. 그러니까 결국에는 모든 것은 Activity안에 있는 view 안에다가 뭔가를 건다는 설정인 것다.
; 아래 코드는 하나의보여지는 list에다가 Array Adapter를 걸고, Edit view에다가 keydown listener를 걸었다는 설정이다.
5. Listener에 대한 이야기
→ Listener를 거는 것도 재미있다.
원래는 요렇게 Mylistner를 만들어서 추가해줘야 되는데,
어차피 안쓸거 ananymous로 직접 넣어버리는 테크닉을 쓰기도 한다.
댓글