본문 바로가기

Lecture/Android12

view와 interface ■ viewview는 안드로이드화면에 보여지는 모든것들입니다. 이들은 viewGroup단위로 묶여지고 더 크게는 하나의 xml 파일로 구성되어집니다. 레이아웃이라해도 틀린말은 아니지만 엄밀히 따지자면 view들은 보이는 컴포넌트들, viewGroup은 보이지않는 컴포넌트라고 생각하시면됩니다. 아래 그림은 이런 뷰들의 계층구조를 나타낸겁니다. 잘모르겠다면 일단 안드로이드 레이아웃에 손대보는게 더 빠른길입니다. 허접틱해보이는 화면을 구성하기위해 viewGroup과 view간의 계층구조를 xml로 써내려간 코드입니다. 단순한 화면임에도 불구하고 많은 xml코드가 달라붙게 되니 view는 그리 만만한게 아닙니다. 물론 위지윅모드로 구성할수도있지만 그럴경우 해상도별 화면리사이징에 큰 문제가생기므로 xml코드도 볼.. 2012. 6. 2.
3. 레이아웃과 컴포넌트 레이아웃이란 화면의 배치를 말하는데, 자바에는 기본적으로 배치관리자가 있습니다. 그래서 winapi에 비해 gui프로그래밍을 할때 신경쓸게 한두게가 아닙니다. 안드로이드 플렛폼도 자바언어를 이용하기때문에 배치관리자를 통해 레이아웃을 구성합니다. 레이아웃을 구성할때에는 위지윅 에디터가 있기때문에 비교적 섬세한 레이아웃 구성이 가능하도록 도와줍니다. 보통 왼편에 파레트에서 레이아웃을 drag & drop 하여 뷰에 적용하는데 레이아웃 외에도 컴포넌트까지 동일하게 적용 가능합니다. 레이아웃은 xml 코드로 구성하는데 위지윅으로 구성된 코드를 보고 수정할수도 있습니다. 위지윅이 있음에도 불구하고 xml을 지원하는 이유는 간혹 api level에 따라 지원되지 않는 상수를 쓸경우나 위지윅에서 못보던 구문 애러를 .. 2012. 5. 21.
2. 안드로이드 생명주기 모든 프로세스는 생명주기(life cycle)가 있습니다. OS도 예외는 아닙니다. 프로세스를 시작하고 프로세스를 종료하기까지는 수없이 많인 이벤트와 시스템콜 그리고 모듈러 등이 동작하게 됩니다. 이러한 일련의 과정을 수행하면서 프로세스가 태어나고 죽게 되는데 안드로이드도 예외는 아닙니다. 안드로이드는 내부적으로 리눅스 위에 자바언어를 이용한 안드로이드 플렛폼을 얹었기때문에 안드로이드만의 고유한 생명주기를 갖고 있습니다. 아래 그림은 안드로이드 개발자 사이트에서 제공하는 사진입니다. 다이어그램으로 안드로이드의 생명주기를 표현했는데 일단 이 그림을 이해하기 전에 액티비티에 관하여 잠깐 설명드리겠습니다. 액티비티(activity)란 안드로이드 화면에 보이는 뷰를 말합니다. 자세히 말하자면 현재 안드로이드폰에.. 2012. 5. 9.
1. 안드로이드 프로젝트 구성 API 레벨 7을 기준으로 작성중입니다. 7은 프로요이며 요즘엔 아이스크림샌드위치로 레벨 14까지 나왔다고 하지만 그래봤자 구조의 변화는 크게없으므로 하위버전에서 시작하겠습니다. 안드로이드는 처음 접하는 유저부터 MVC패턴(Model , View , Controller)으로 구성하도록 의도된 구조를 갖고있습니다. 그래서 이런 구조를 처음접하는 사람들은 코드상에서 모든것을 하려해도 잘 되지않으며 절차지향이나 객체지향언어를 많이 다루셧다고 하는 분들도 MVC패턴을 잘 알지 못할경우 약간의 어려움이 있을수 있으니 안드로이드를 시작할때 구조적 개념을 잘 숙지하셔야만 후에 개발함에 있어 능숙하고 유연하게 문제를 해결할수 있습니다. 아래 사진은 안드로이드 프로젝트 생성시 처음으로 보게되는 프로젝트 구성입니다. 한두.. 2012. 5. 4.