[ Developer Android ]
[ 안드로이드 입문서(www.kandroid.org/kandroid 번역/ 978-89-962353-0-9) ]

.apk file
안드로이드 애플리케이션 패키지 파일.
각각의 안드로이드 애플리케이션은 컴파일 되어 하나의 파일로 패키징 된다. 애플리케이션이 코드(.dex file), resources, assets, 그리고 manifest 파일을 모두 포함하고 있다. 패키지 파일은 어떠한 이름도 가질 수 있지만 .apk 확장자를 사용해야만 한다.

관련 : Application

.dex file
컴파일된 안드로이드 애플리케이션 코드 파일.
Dalvik Executable 파일, 디바이스 상의 하나의 .apk 파일내에 zip으로 압축된다. .dex파일들은 자바 프로그래밍 언어로 작성된 컴파일된 애플리케이션을 자동적으로 변환함으로써 생성된다.

Action
Intent sender가 수행하길 원하는 어떤 것에 대한 설명.
Action은 intent에 할당된 문자열 값이다. 액션 문자열들은 안드로이드 또는 제3의 개발자에 의해 정의될 수 있다.
ex - android.intent.action.VIEW -> 웹 URL
ex - com.example.rumbler.SHAKE_PHONE -> 폰을 진동시키는 커스텀 애플리케이션

관련 : Intent

Activity
애플리케이션 내의 하나의 화면, Java code를 지원함으로써 Activity 클래스로부터 파생.
가장 일반적으로, 액티비티는 그것이 윈도우를 렌더하기 위해 사용하는 윈도우이기 때문에, UI 이벤트를 받아서 처리할 수 있고 복잡한 태스크를 수행하는 전체 스크린 윈도우에 의해 시각적으로 표현된다. 액티비티가 일반적으로는 전체 스크린임에도 불구하고, 화면 위에 떠 있거나 투명하게 될 수도 있다.

adb
Android Debug Bridge, SDK와 함께 포함된 커맨드 라인 디버깅 애플리케이션.
디바이스를 브라우징, 디바이스에 복사하기 위한 도구, 디버깅을 위해 포워드 포트를 제공한다. ADT 플러그인을 사용하는 이클립스에서 개발하고 있다면, adb는 개발 환경안에 통합되어 있다.

Appliction
컴포넌트의 관점으로 보면, 안드로이드 애플리케이션은 하나 또는 그 이상의 액티비티, 서비스, 컨텐트 프로바이더, 브로드캐스트 리시버로 구성된다.
소스파일의 관점으로 보면, 안드로이드 애플리케이션은 코드, 리소스, 에셋, 하나의 매니페스트로 구성된다. 컴파일 도중에, 이러한 파일들은 애플리케이션 패키지 파일(.apk)로 불리는 하나의 파일로 패키지 된다.

관련 : .apk, Activity

Canvas
Bitmap이나 Surface 오브젝트에 대한 실질적인 비트 컴포지션을 처리하는 그리기를 하는 표면.
비트맵, 선, 원, 사각형, 텍스트, 그리고 기타 등등에 대한 표준 컴퓨터 그리기에 대한 메쏘드를 가지고 있다. 캔버스는 스크린에 2D 오베즉트들을 그리기 위한 가장 간단하고 가장 손쉬운 방법이다. 하지만 이것은 OpenGL|ES에서 하는 것 처럼 하드웨어 가속기를 지원하지 않는다. 베이스 클래스는 Canvas이다.

관련 : Drawable, OpenGL|ES

Content Provider
애플리케이션의 데이터를 다른 애플리케이션에게 안전하게 보여주기 위해 사용할 수 있는 데이터 추상화 계층.
Content Provider는 ContentProvider 클래스 위에서 만들어졌다. 이것은 특정 포맷의 데이터를 리턴하기 위한 특정 포맷의 컨텐트 쿼리 포맷을 처리한다.

관련 : URI Usage in Android

Dalvik
안드로이드 플랫폼의 가장 머신.
달빅 가상머신은 효율적인 저장공간과 메모리 매핑가능한 실행을 위해 최적화 된 .dex 포맷의 파일들을 실행하는 인터프리터 전용 가상 머신이다. 이 가상 머신은 레지스터 기반이고, Java 언어 컴파일에 의해 컴파일된 클래스를 실행할 수 있다. 그 클래스는 포함되어 있는 "dx" 도구를 사용해서 달빅 네이티브 포맷으로 변환된다. 그 가상 머신은 Posix 호환 운영 체제의 위에서 실행된다. 그것은 (쓰레딩과 저수준 메모리 관리와 같은) 그 아래에 있는 기능을 위해서 해당 운영체제에 의존한다. 달빅 코어 클래스 라이브러리는 Java Standard Edition으로 프로그래밍하기 위해 사용된 것들과 비슷한 개발 기반을 제공하고자 의도된 것이지만, 모바일 디바이스의 필요에 맞게 조정되었다.

DDMS
달빅 디버그 모니터 서비스로, SDK와 함께 포함된 GUI 디버깅 애플리케이션.
스크린 캡쳐, 로그 덤프, 프로세스 검사 기능을 제공한다. ADT 플러그인을 사용하는 이클립스에서 개발하고 있다면, DDMS는 개발 환경에 통합되어 있다.

Dialog
가벼운 폼처럼 동작하는 떠 있는 윈도우.
다이얼로그는 오직 버튼 컨트롤들만을 가질 수 있으며, 버튼 선택과 같은 간단한 액션을 수행하고 아마도 하나의 값을 리턴하도록 되어 있다. 다이얼로그는 히스토리 스택에 존속하거나, 복잡한 레이아웃을 가지거나, 또는 복잡한 액션을 수행하도록 되어 있지 않다. 안드로이드는 옵션 버튼을 가지는 간단한 디폴트 다이얼로그를 제공한다. 여러분은 자신의 다이얼로그 레이아웃을 정의할 수 있다. 다이얼로그에 대한 베이스 클래스는 Dialog이다.

관련 :  Activity

Drawable
배경, 타이틀, 스크린의 다른 영역으로 사용될 수 있는 컴파일 된 시각적 리소스.
Drawable은 백그라운드 이미지 같은 다른 UI엘리먼트 안에 일반적을 로드된다. 드로어블은 이벤트를 받을 수 없지만, 애니메이션 오브젝트나 이미지 라이브러리와 같은 서브 클래스를 활성화 하기 위해 "state"와 스케쥴링과 같은 다양한 다른 속성들이 부여한다. 많은 드로어블 오브젝트들은 드로어블 리소스 파일들, xml 또는 이미지를 그리는 비트맵 파일들로부터 적재된다. 드로어블 리소스들은 Android.graphics.drawable의 서브클래스로 컴파일된다.

관련 : Resources, Canvas

Intent
다른 애플리케이션/액티비티를 런치하거나 비동기적으로 커뮤니케이션하는데 사용할 수 있는 메시지 오브젝트.
인텐트 오브젝트는 인텐트에 대한 하나의 인스턴스이다. 그것은 어떤 애플리케이션/액티비티가 인텐트를 수신할지와 그 인텐트를 처리할 때 그 리시버가 무엇을 하는지를 결정하기 위해, 여러분이 제공할 수 있는 다양한 기준 필드들을 포함한다. 유용한 기준들은 요구되는 액션, 카테고리, 데이터 문자열, 데이터의 MIME 타입, 처리할 클래스, 그리고 그 밖의 것들을 포함한다. 하나의 애플리케이션은 다른 애플리케이션/액티비티에게 직접 인텐트를 전송한다기보다는 안드로이드 시스템에 인텐트를 보낸다. 애플리케이션은 하나의 타겟 애플리케이션에 인텐트를 보낼 수 있다. 또한 그것은 여러 개의 애플리케이션에 의해 순서대로 차례로 처리될 수 있는 브로드캐스트로 그것을 전송할 수도 있다. 안드로이드에 시스템은 인텐트에 제공된 기준들과 다른 애플리케이션에 의해 정의된 인텐트 필터에 기반해서, 각각의 인텐트에 대한 가장 유용한 리시버를 확정하는 것에 대해 책임을 진다.

관련 : Intent Filter, Broadcast Receiver

Intent Filter
애플리케이션이 매니페스트 파일에 선언하는 필터 오브젝트로, 시스템에게 그것의 컴포넌트 각각이 받아들이고자 하는 인텐트의 타입, 어떤 기준을 가지고 있는지를 알려준다. 인텐트 필터를 통해, 애플리케이션은 특정한 데이터 타입, 인텐트 액션, URI 포맷 등에 관심을 표현할 수 있다. 인텐트를 확장할 때, 시스템은 모든 애플리케이션 내의 유용한 인텐트 필터 모두를 평가하고, 그 인텐트와 기준들이 가장 일치하는 애플리케이션/액티비티에 인텐트를 전달한다.

관련 : Intent, Broadcast Receiver

Broadcast Receiver
하나의 타겟 애플리케이션/액티비티에게 전송되는 것보다는 브로드캐스트된 인텐트를 수신하는 애플리케이션 클래스.
시스템은 모든 관심갖는 브로드캐스트 리시버에게 브로드캐스트 인텐트를 전달한다. 그것들은 순차적으로 인텐트를 처리한다.

관련 : Intent, Intent Filter

Layout Resource
액티비티 스크린의 레이아웃을 설명하는 XML 파일.

관련 : Resources

Manifest File
각각의 애플리케이션이 애플리케이션의 패키지 이름, 버전, 컴포넌트(액티비티, 프로바이더, 리시버, 서비스)., 임포트 라이브러리, 그리고 다양한 액티비티를 설명하고, 기타 등등을 설명하기 위해 정의해야 하는 XML 파일.

Nine-patch / 9-patch / Ninepatch Image
디바이스 상의 배경이나 다른 이미지를 위해 사용될 수 있는 크기 조정이 가능한 비트맵 리소스.

관련 : Resources

OpenGL|ES
빠르고 복잡한 3D 이미지를 위해 여러분이 사용할 수 있는 OpenGL|ES 라이브러리를 제공한다. 이것은 캔버스 오브젝트보다 사용하기는 어렵지만 3D 오브젝트를 위해서는 더 좋다. Android.opengl과 javax.microedition.khronos.opengles 패키지는 OpenGL|ES 기능을 보여준다.

관련 : Canvas, Surface

Resources
컴파일된 애플리케이션 코드 외부에 있는 프로그램적이지 않은 애플리케이션 컴포넌트. 그러나 잘 알려진 참조 포맷을 사용하여 애플리케이션 코드로 부터 적재될 수 있다. 안드로이드는 다양한 리소스 타입을 지원하지만 일반적인 애플리케이션 리소스는 UI 문자열, UI 레이아웃 컴포넌트, 그래픽, 미디어 파일, 기타 등등으로 구성된다. 애플리케이션은 효율적으로 localization과 다양한 디바이스 프로파일과 상태를 지원하기 위해 리소스를 사용한다. 예를 들어 애플리케이션은 지원되는 각각의 로컬 또는 디바이스 타입에 대해 별도의 리소스 집합을 포함할 것이고, 그것은 현재의 스크린 방위(landscape or portrait)에 대한 특정 레이아웃 리소스를 포함할 수 있다. 애플리케이션의 리소스는 항상 프로젝트의 res/* 하위 폴더에 저장되어 있다.

Service
음악 재생 또는 네트워크 액티비티 모니터링과 같은 다양한 지속적인 액션들을 수행하기 위해 (UI를 표시하지 않고) 백그라운드에서 실행되는 클래스 서비스의 오브젝트

관련 : Activity

Surface
스크린으로 composited 되는 메모리 블록을 나타내는 surface 타입의 오브젝트.
서피스는 그리기 위한 하나의 캔버스 오브젝트를 보유하며, 레이어를 그리고 그 서피스의 크기를 바꾸기 위한 다양한 헬퍼 메쏘드를 제공한다. 이 클래스를 직접 사용하지 말아야 하며, 대신 서피스뷰를 사용하라.

관련 : Canvas

SurfaceView
그리기 위한 Surface를 감싸고 있는 뷰 오브젝트ㅡ 동적으로 크기와 포맷을 지정하기 위한 메쏘드들을 제시한다.
서피스뷰는 리소스 집약적 오퍼레이션을 위해 UI thread와는 독립적으로 그리는 방법을 제공한다. 그러나 그것은 결과적으로 추가적인 메모리를 사용한다. 서피스뷰는 캔버스와 OpenGL|ES 그래픽 모두를 지원한다. 베이스 클래스는 서비스뷰이다.

관련 : Surface

Theme
다양한 디폴트 디스플레이 설정을 정의하기 위해 함께 묶어진 속성들(텍스트 크기, 백그라운드컬러, 그리고 기타 등등)의 집합.
안드로이드는 ("Theme_"으로 시작하는) R.style에 리스트된 몇 가지 표준 테마를 제공한다.

URIs in Android
안드로이드는 컨텐트 프로바이더에 데이터를 요청하는 것과 인텐트에 액션을 요청하는 것에 대한 기초로 URI 문자열을 사용한다. 그 URI 스키마과 포맷은 사용 유형에 따라 달라지며, 애플리케이션은 원하는 어떠한 방식으로도 특정 URI 스키마와 문자열을 처리할 수 있다. 어떤 URI 스키마는 시스템 컴포넌트에 의해 예약되어 있다. 예를 들어 컨텐트 프로바이더로부터의 데이터에 대한 요청은 content://를 사용해야 한다. 인텐트에서 http:// 스키마를 사용하는 URI는 브라우저에 의해 처리될 것이다.

View
스크린에서 직사각형의 영역을 그리는 오브젝트이며, 클릭, 키스트로크, 그리고 다른 상호작용 이벤트를 처리한다. 뷰는 액티비티나 다이얼로그 스크린의 레이아웃 컴포넌트 대부분에 대한 베이스 클래스이다. 뷰는 스스로를 그리기 위해 그것의 부모 오브젝트로부터 호출을 받는다. 그리고 (부모 오브젝트에 의해 반영될 수도 있고 그렇지 않을 수도 있지만) 그것이 어디에 있어야 하고 얼마나 커야 하는지에 대해 그것의 부모 오브젝트에게 알려준다.

관련 : Viewgroup, Widget

Viewgroup
child view들의 집합을 그룹화하는 컨테이너 오브젝트.
viewgroup은 자식 뷰들이 적절할 때 스스로를 그리도록 하기 위해 각각을 호출하는 것뿐만 아니라, 자식뷰들이 어디에 위치하고 얼마나 커야하는가를 결정하는 것에 대해 책임을 진다. 어떤 뷰그룹은 다른 것들이 고유의 UI(예를 들면 스크롤되는 리스트 상자)를 가지는 것에 반해, 보여지지 않고 단지 레이아웃을 위해서만 존재하게 된다. 뷰그룹은 widget 패키지 안에 모두 있지만, Viewgroup을 확장 한다.

관련 : View

Widget
텍스트 상자 또는 팝업 메뉴와 같은 폼 엘리먼트와 다른 UI 컴포넌트를 렌더하는 완전하게 구현된 뷰 서브클래스들의 집합 중 하나.
위젯은 완전하게 구현되었기 때문에, 그것은 스스로를 측정하는 것과 그리는 것, 그리고 스크린 이벤트에 반응하는 것을 처리한다. 위젯은 모두 android.widget 패키지에 있다.

Window
안드로이드 애플리케이션에서 look and feel (title bar text, location and content of menus, and so on)과 같은 일반적인 윈도우의 엘리먼트를 명시하는 추상 클래스인 Window로부터 파생된 오브젝트.
다이얼로그와 액티비티는 원도우를 렌더하기 위해서 이 클래스의 구현물을 사용한다. 여러분은 이 클래스를 구현할 필요없이 여러분의 애플리케이션에서 윈도우를 사용할 수 있다.

트랙백 주소 :: http://www.mirwing.com/181/trackback/
옵션
댓글 달기