메모장 입니다2
안드로이드] 개발 - 1)아키텍쳐, 구성요소 본문
1.OS 아키텍쳐
-리눅스 커널: 드라이버의 지원이 광범위하여 채택됨.
-라이브러리(시스템): 속도를 결정하는 주요요소이기 때문에 C로 작성됨.
-달빅 가상 머신: 모바일에 최적화된 가상 머신. (자바 가상머신을 직접 이용하는 것이 아닌)
->자바 클래스를 바로 실행할 수 없고, dex 포맷으로 변환해야 실행 가능.
-프레임워크: 안드로이드 API
->프레임워크를 이용하여 하위 레벨의 소스에 접근가능.
2.구성요소
-4개의 컴포넌트로 구성
1)액티비티: 인터페이스의 기본 단위. (≒Windows- 윈도우)
2)서비스: 백그라운드에서 무한히 실행. (ex: 미디어 플레이어)
->UI가 없으므로 액티비티와 연결되어 사용됨.
3)방송 수신자: 시스템으로부터 전달되는 신호를 수신. (ex: 배터리)
4)컨텐츠 제공자: 다른 프로그램 등에게 리소스를 제공. (ex: 데이터 베이스/주소록)
-컴포넌트의 종류와 수는 임의로 설정 가능.
-컴포넌트 구성에 대한 설정은 매니페스트(설정 파일)에 저장됨.
-인텐트: 컴포넌트 간의 통신에 사용. (≒ Windows - IRP)
3.개발툴
1)JDK
2)이클립스
3)안드로이드 SDK
: API를 안드로이드 사용 가이드에 맞춰 재구성.
*IDE(Intergrate Development Environment)
:통합 개발 환경,
소스 편집, 컴파일, 빌드 등 개발에 필요한 모든 기능을 하나의 개발툴에서 제공하는 것.
4)ADT(Android Development Tool)
: 이클립스에서 안드로이드 개발 도구를 이용할 수 있게하는 플러그인.
4.이클립스, 안드로이드 스튜디오의 차이점
-이클립스에선 빌드를 포함하여 모두 이클립스 도구가 수행하지만,
안드로이드 스튜디오는 Gradle 이라는 빌드툴(?)을 사용하여 작업을 세분화 시켰다.
5.Gradle
'Study > Programming' 카테고리의 다른 글
안드로이드] 안드로이드 스튜디오 - *) 단축키 (0) | 2017.10.11 |
---|---|
안드로이드] 안드로이드 스튜디오 - 1) 간단한 인터페이스 세팅 (0) | 2017.10.10 |
Codility] FrogJmp (0) | 2017.09.07 |
Windows] KeDelayExecutionThread (0) | 2017.09.05 |
Windows] DeviceIoControl을 이용한 통신 (0) | 2017.09.01 |