안드로이드 어플리케이션의 특징
- 경계가 없는 어플리케이션 : 어플리케이션은 표준 API(Application Programming Interface)를 통해 핵심(core) 모바일 기능에 접근 가능
- 평등한 어플리케이션 : 모바일 기기에 있는 어플리케이션은 다이얼러(Dialer) 나 홈(Home) 같은 핵심 구성 요소인 경우에도 대체 가능
- 웹 제어가 쉬운 어플리케이션 : HTML , Java Script , Style-sheet 등을 쉽게 추가 가능, WebView를 통해 웹 컨텐츠를 쉽게 보여 줄 수 있다.
- 동시에 실행될 수 있는 어플리케이션 : 완벽한 멀티태스킹 환경 제공으로 어플리케이션은 백그라운드에 존재 하면서 필요할 경우 알림 정보를 보낼 수 있다.
안드로이드 아키텍처
Applications 계층
- Home, Contacts, Phone, Browser, 뿐만 아니라 Alarm Clock, Camera, Email 등의 여러 내장 어플리케이션 존재
Application Framework 계층
- View System
- 윈도우 시스템의 컨트롤과 같은 것으로 List, Grid, EditText, Button, internal browser 등 풍부 하고 확장 가능한 사용자 인터페이스 제공
- Content Providers
- 다른 어플리케이션이 데이터에 접근할 수 있도록 지원
- Resource Manager
- 현지화된 문자열, 그래픽, 레이아웃 파일 등과 같은 非 코드 리소스에 접근 지원
- Notification Manager
- 상태 바에 각 어플리케이션의 용도에 따른 알림 정보를 표시
- Activity Manager
- 어플리케이션의 수명 관리
Libraries & Android Runtime 계층
- Libraries
- Media Framework - 표준 C 시스템 라이브러리인 libc 와 PacketVideo 사의 OpenCore에 기반
- Surface Manager - 디스플레이 하부 시스템에 대한 접근 제어
- Lbc - 웹 브라우저 엔진인 LibWebCore
- SGL - 기본 2D 그래픽 엔진
- OpenGL | ES - 3D 라이브러리
- Free Type - 비트맵 , 벡터 폰트를 그려줌
- SQLite - 가볍고 강력한 관계형 DBMS
- Android Runtime
- Dalvik VM - 모바일 용으로 최적화된 가상 머신으로 Java Me(Mobile Edition)와 같은 것을 사용하지 않고 모든 어플리케이션이 자신의 프로세스 안에서 동작하고, 자신의 VM 인스턴스를 가지도록 만들어짐
- Java 언어로 Core 라이브러리 기능 사용
Linux Kernel 계층
- 안드로이드 커널은 리눅스 2.6에 기반
- 이 계층에서는 보안, 스레딩, 프로세스, 메모리 관리 등의 하위 수준의 기능을 처리
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드] Intent 로 Activity 간에 data 주고 받기 (0) | 2011.01.13 |
---|---|
[안드로이드] String 문자열 공백 제거 및 언어 구분 (0) | 2010.12.17 |
[안드로이드] 키즈락 (0) | 2010.12.14 |
[안드로이드]SDK & Eclipse 설치 과정 (0) | 2010.12.10 |
[안드로이드] 관련 주요 Site. (0) | 2010.12.10 |