2010년 7월 25일 일요일

안드로이드 UI 관련 요소 및 컨셉 용어 정리

안드로이드 UI 관련 요소 및 컨셉 용어 정리


아래는 SDK나 여러가지 메뉴얼에 나와있는 공통 UI 요소와 컨셉에 관한 설명이다.
 
Activity
안드로이드 애플리케이션의 표준 화면을 의미한다. Activity는 현재 동작중인 애플리케이션 또는 다른 애플리케이션으로부터 발생한 Intent와 매칭될 때 안드로이드가 실행할 수 있는 클래스라 할 수 있다. 대부분의 경우 UI 이벤트나 복잡한 작업들을 처리하는 전체 화면창으로 보여지지만, 투명 또는 화면상에 떠있는 개체로 표현되기도 한다.
 
View
그리기, 클릭 처리, 키스트로크외 다른 상호작용 이벤트를 처리할 수 있는 사각의 영역이다. View는 대부분의 Activity 또는 Dialong 화면(Text box, window 등)의 base 클래스다. 그리기슬 수행하라는 호출을 해당 객체의 컨테이너로부터 수신하고, 부모 객체에 어느만큼의 영역에 그릴 것인지 통보한다.
 
View Group
다수의 자식 View 객체를 담고 있는 컨테이너이다. 자식 객체들이 어디에 어느만큼의 크기로 배치되는지 결정하고 적절한 시점에 화면상에 그리도록 호출한다. 어떤 것들은 보이지 않고 레이아웃만 나타낼 수도 있고, 다른 것들은 자체적인 UI를 가지고 있을 수 있다. View Group은 모두 widget 패키지에 속해있다.
 
Widget
텍스트 박스와 팝업 메뉴와 같은 폼 엘리먼트를 말한다. 이것들은 자기 자신을 그리고 화면상에 UI 이벤트를 다룬다. Widget은 widget 패키지내에 속한다.
 
Drawable
백그라운드 이미지와 같이 다른 UI 엘리먼트안에 있는 비주얼 엘리먼트를 말한다. 이것은 이벤트를 받지 않으며 "state"와 애니메이션 객체, 이미지 라이브러리와 같은 서브클래스가 동작하도록 해주는 스케쥴링과 같은 다양한 속성을 할당할 수 있다. 많은 drawable 객체들은 이미지 정보를 담고 있는 xml 파일 또는 비트맵 파일 같은 리소스 파일로부터 로드된다.
 
Panel
Panel은 부모 창에서 서로 모여있는 정렬된 View이며, 클릭과 부모와 관련된 간단한 함수 수행을 통해 제어가 가능하다. Panel은 부모의 앞에 떠있는 개체이며, 상대적인 위치를 가지고 있다. 안드로이드에서 구현된 Panel의 전형적인 예로는 모든 스크린에서 사용되는 옵션 메뉴 같은 것이다. 현재는 Panel을 생성하기 위한 특정한 클래스나 메소드는 없다.
 
Dialog
Dialong는 버튼과 간단한 폼으로 동작하면서 이벤트에 반응하고 값을 리턴할 수 있는 떠 있는 윈도우다. 이것은 history stack에서 영속성을 관리하는 것은 아니며 복잡한 레이아웃 또는 복잡한 기능 포함하고 있다. 안드로이드는 기본적인 간단한 Dialog를 버튼들을 제공하고, Dialog 레이아웃은 마음대로 바꿀 수 있다. base 클래스는 Dialog이며 dialog box를 열 수 있는 helper 메소드는 Activity.showAlert()로 조작이 가능하다.
 
Window
look and feel, 위치, 메뉴의 내용등과 같은 일반적인 창 요소들을 정의할 수 있는 추상 클래스이다. Dialog와 Activity는 이 클래스의 구현을 사용하여 윈도우를 그리며, 이 클래스를 별도로 구현할 필요는 없다.
 
Surface
화면에 대응되는 복합적인 엘리먼트에 대한 블록 메모리를 말한다. Surface는 화면상에 그리기를 위해 Canvas 객체를 가지고 있으며 레이어와 표면을 리사이즈 하기 위한 다양한 helper 메소드를 제공한다. 이 클래스를 직접 사용할 수는 없고 SurfaceView를 사용하면 된다.
 
SurfaceView
화면에 그리기를 위한 Surface의 Wrapper View 객체이며, 사이즈와 포맷을 다양하게 조절할 수 있는 메소드를 포함하고 있다. 카메라 애플리케이션에서 미리보기를 위해 SurfaceView를 사용한다. SurfaceView는 게임이나 카메라 미리보기와 같은 리소스를 차지하는 UI 스레드와는 독립적으로 그리는 방법을 제공하지만 추가적인 메모리를 요구한다. SurfaceView는 Canvas와 OpenGL ES 그래픽을 동시에 지원한다.
 
Canvas
실제적인 비트들이 복합되어져 그리는 것이다. 이것은 bitmap, line, circle, rectangles, text등의 표준 그리기 메소드를 제공하며 Bitmap 또는 Surface에 적용할 수 있다. Canvas는 2D 객체를 가장 간단하고 쉬운 방법으로 화면에 그릴 수 있도록 한다. 그러나 OpenGL ES와 같이 하드웨어 가속 같은 것은 제공하지 않는다.
 
OpenGL ES
안드로이드는 빠르고, 복잡한 3D 이미지를 위해 OpenGL ES 라이브러리를 제공한다. 이것은 Canvas 객체보다 사용하기가 더 어렵지만, 3D 객체에 대해서는 훨씬 더 좋다. graphics.glutils 패키지에 OpenGL ES 기능이 포함되어 있다.

 

 

 

 

 

 

 

[출처] http://www.kandroid.org/

댓글 없음:

댓글 쓰기