개념 정리, 인텐트 넘기기
어플리케이션 프레임워크를 통해서 제공되는 API 사용.
→ 코드를 재사용해서 보다 빠른 어플리케이션 개발 가능
달빅(Dalvik)가상머신과 아트런타임(ART)제공
그래픽을 최적화
모바일용 데이터 베이스인 SQLite사용.
모바일 기기에 내장된 각종 하드웨어 지원.
등등..
응용프로그램
→ 일반적 응용프로그램으로 java로 작성
응용프로그램 프레임워크
→ 안드로이드 API가 존재하며 그것을 하드웨어에 접근할 때 사용
안드로이드 런타임
→ Java코어 라이브러리와 달빅 가상머신 그리고 아트런타임으로 구성됨
→ Java문법으로 코딩하지만 가상머신은 달빅과 아트런타임을 사용함.
라이브러리
→ 안드로이드에서 사용되는 여러 시스템 라이브러리는 시스템 접근때문에 Java 보다 C로 작성했을때 성능이 뛰어나며 세밀한 조작이 가능함
리눅스 커널
→ 하드웨어 운영과 관련된 저수준의 관리 기능들이 들어있음.
ex) 메모리 관리, 디바이스 드라이버, 보안 등 많은 스마트폰 장치를 지원함.
안드로이드 앱 개발 구성 요소
애뮬레이터 혹은 디바이스 : 개발한 앱 테스트
adb(Android Debug Bridge) 프로그램 : 안스 킬때 자동실행 1번과 연결관리
adbd(Android Debug Bridge Daemon) 프로그램 : 디바이스 내부에서 adb 서버와의 통신을 담당
Run 메뉴 : 안드로이드 플러그인 → adb 서버 → adbd → 에뮬/디바이스로 전송되어 실행