2013년 7월 13일 토요일

Android 를 구성하는 기본 요소

리눅스 커널
- 리눅스는 운영체제의 커널.( 엔진 ) 
- 시스템을 컨트롤하는 하나의 커다란 어플리케이션
- 백그라운드 스레드, 메모리관리, 보안, 디바이 드라이 등의 저수준 관리
- 안드로이드가 리눅스를 채용한 이유는 드라이버의 지원이 광범위하다!!!
 
달빅 (안드로이드 전용의 가상 머신)
- 모바일 환경에 최적화됨
- 각 프로세서별 별도의 달빅 가상 머신이 할당되므로 안전성이 높고 메모리 사용량을 줄여 복수 개의 가상 머신도 효율적으로 동작하도록 설계됨.


프레임워크 ( 안드로이드 API )
- 응용프로그램은 API를 통해서 라이브러리와 커널을 요청
- 하드웨어 액세스를 추상화
- UI제작에 필요한 위젯을 정의
- 시스템 라이브러리와 통신할 수 있는 래퍼를 제공


4가지 구성요소
- 액티비티 
- 사용자 인터페이스를 구성하는 기본 단위
- 눈에 보이는 화면 하나가 액티비티, 여러개의 뷰들로 구성

- 서비스
- 사용자 눈에 직접적으로 보이지 않으며 백그라운드에서 무한히 실행되는 컴포넌트
- 비활성화된 상태에서도 실행
- UI가 없으므로 사용자의 명령을 받아 들일 수 있는 액티비티와 연결해서 사용

- Broadcast Receiver
- 시스템으로부터 전달되는 방송을 대기하고 신호 전달시 수신하는 역할
- 신호만 대기할 뿐 UI를 따로 가지지 않으므로 방송 수신시 방송의 의미를 해석하고 적절한 액티비티를 띄우는 역할

- Content Provider 
- 다른 응용 프로그램을 위해 자신의 데이터를 제공
- 응용 프로그램 간에 데이털르 공유할 수 있는 합법적인 유일한 장치
- 예) 데이터베이스, 주소록


매니패스트
- 응용프로그램의 컴포넌트 구성
- 설정 파일에 저장 및 관리 

Intent
- 컴포넌트 간의 통신 수단
- 메시지에 대한 상세한 정보를 가진다.
- 예) 주소록 목록 액티비티에서 편집 액티비티를 호출할 때 누구의 주소를 어떤 식으로 편집하라는 지시가 인텐트에 실려 전달된다.

댓글 없음:

댓글 쓰기