반응형

안드로이드 주요 특징 및 아키텍처 소개

 

안드로이드 주요 기능

애플리케이션 프레임워크를 통해 제공되는 API를 사용하여 코드 재사용성을 높이고 빠른 개발이 가능하다.

모바일 기기에 최적화된 달빅 또는 아트런타임을 제공한다.

모바일용 데이터베이스인 SQLite를 제공한다.

각종 오디오, 비디오 및 이미지 형식을 지원하고, 모바일 기기에 내장된 각종 하드웨어(블루투스, 카메라, WIFI 등)을 지원한다.

이클립스 IDE, Android Studio를 통해서 빠른 개발 환경을 제공한다.

 

 


 

안드로이드 구조

안드로이드 구조

안드로이드의 구조는 응용 프로그램, 응용 프로그램 프레임워크, 라이브러리, 안드로이드 런타임, 리눅스 커널으로 이루어져 있다.

 

1. 응용 프로그램

안드로이드 스마트폰에서 사용할 수 있는 일반적인 응용 프로그램을 말하며,

예를 들어 웹 브라우저, 달력, 구글맵, 연락처, 게임 등 사용자 입장에서 가장 많이 사용된다.

응용 프로그램은 Java로 작성된다.

 

 

2. 응용 프로그램 프레임워크

안드로이드 API가 존재하는 곳이다.

안드로이드폰 하드웨어에 접근할 때는 API를 통해서만 가능하다.

 

 

3. 안드로이드 런타임

Java 코어 라이브러리와 달빅 가상 머신 또는 아트 런타임으로 구성된다.

안드로이드는 Java 문법으로 프로그래밍하지만 Java 가상 머신을 사용하지 않고 안드로이드 런타임에 존재하는

달빅 가상 머신이나 아트 런타임을 사용한다. 그 이유는 달빅 가상 머신이나 아트 런타임이 안드로이드 환경에 최적화되어 있기 때문이다.

 

 

4. 라이브러리

안드로이드에서 사용되는 여러 시스템 라이브러리는

시스템 접근 때문에 응용 프로그램과 달리 Java가 아닌 C로 작성되어 성능이 뛰어나며 세밀한 조작이 가능하다.

 

 

5. 리눅스 커널

하드웨어 운영과 관련된 저수준의 관리 기능이 들어있다.

메모리 관리, 디바이스 드라이버, 보안 등 많은 스마트폰 장치 기능을 지원한다.

카메라, 터치스크린, GPS, 자이로스코프 ...

 

 

 


 

안드로이드 개발 환경의 구성

안드로이드 개발 환경의 구성

 

1. JDK (Java Development Kit)

Java 환경에서 돌아가는 프로그램을 개발하는 데 필요한 툴들을 모아놓은 소프트웨어 패키지이다.

 

 

2. SDK (Software Development Kit)

소프트웨어 개발 도구 모음이라고도 한다.

SDK는 API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티가 포함될 수 있다.

안드로이드 앱 개발에서 안드로이드 SDK는 필수 요소이다.

 

 

3. ADT (Android Development Tools)

안드로이드 개발 도구를 의미한다.

 

 

4. AVD (Android Virtual Device)

AVD는 안드로이드 에뮬레이터에서 시뮬레이션 하려는

안드로이드 스마트폰이나 태블릿 등의 기기의 특성을 정의하는 구성이다.

AVD를 활용하여 안드로이드 스마트폰 없이 안드로이드 어플리케이션을 개발할 수 있다.

 

 

 

안드로이드 개발 환경별 특징

안드로이드 개발 환경 별 개발 툴킷

안드로이드에서 응용 프로그램을 개발할 때는 Java 언어를 사용하며 개발 툴킷은 SDK(Software Development Kit)를 사용한다.

시스템 응용 프로그램을 개발할 때는 C, C++ 언어를 사용하며 개발 툴킷은 NDK(Native Development Kit)를 사용한다.

하드웨어를 제어하고 커널 관련한 개발을 할 때는 C, C++언어를 사용하며 PDK(Platform Development Kit)을 이용하여 개발한다.

 

 

 

 

 

안드로이드 앱 개발 구성 요소

안드로이드 개발 구성 요소

 

1. 에뮬레이터 혹은 디바이스 

안드로이드 스튜디오에서 개발한 앱을 테스트한다.

 

2. adb(Android Debug Bridge) 프로그램

안드로이드 스튜디오를 실행하면 자동으로 실행되어 [에뮬레이터/디바이스]와 연결을 관리한다.

 

3. adbd(Android Debuf Bridge Daemon) 프로그램

안드로이드 디바이스 내부에서 adb 서버와의 통신을 담당한다.

 

4. Run 메뉴

[안드로이드 플러그인] -> [adb 서버] -> [adbd] -> [에뮬레이터/디바이스] 로 전송되어 실행된다.

 

5. 디버거(Debugger)

프로그램 버그를 찾기 위한 소프트웨어 앱을 직접 사용하거나 안드로이드 스튜디오에 내장된 것을 사용한다.

 

+ Recent posts