모바일 운영 체제 구글의 안드로이드 애플의 iOS 마이크로소프트의 윈도폰 8 RIM의 블랙베리 OS 노키아의 심비안(Symbian)
모바일 운영 체제 비교
애플리케이션 마켓의 개념 개발자와 소비자가 만나는 공간
안드로이드의 기능 구글의 홈페이지 참조: developer.android.com
안드로이드의 역사 2005년에 안드로이드㈜ 인수 2007년에 OHA(Open Handset Alliance)라는 컨소시 엄 구성 2007년 안드로이드 SDK 1.0 발표 최초의 안드로이드 폰: HTC의 G1 앤디 루빈->
안드로이드 버전
안드로이드의 특징 재사용이 가능한 애플리케이션 프레임워크 (Application framework) 최적화된 달빅 가상 머신(Dalvik virtual machine) OpenGL 2.0 지원하는 최적화된 그래픽(Optimized graphics) SQLite 데이터베이스 지원 각종 오디오, 비디오 규격 지원(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) 블루투스, WiFi 지원 카메라, GPS, 나침반 지원 풍부한 개발 환경 제공 장치
새로운 자바 가상 머신 ART ART 는 4.4에서 새로 배포되는 자바 가상 머신 Ahead-of-time (AOT) 컴파일 : 달빅은 필요할 때마다 앱을 컴파일하여서 앱을 실행한다. 하지만 ART는 미리 앱을 컴파일한다. 향상된 가비지 콜렉션 디버깅 향상
안드로이드의 구조
애플리케이션 의 기초 개념 애플리케이션 실행 단계
컴포넌트 애플리케이션은 컴포넌트로 이루어진다. 액티비티(activity) 서비스(service) 방송 수신자(broadcast reciver) 컨텐트 제공자(content provider)
액티비티 사용자 인터페이스 화면을 가지는 하나의 작업
액티비티의 예 액티비티들이 모여서 애플리케이션이 된다.
서비스 백그라운드에서 실행되는 컴포넌트로서 오랫동안 실행되는 작업이나 원격 프로세스를 위한 작업 백그라운드에서 실행되는 컴포넌트로서 오랫동안 실행되는 작업이나 원격 프로세스를 위한 작업 (예) 배경 음악을 연주하는 작업
방송 수신자 방송을 받고 반응하는 컴포넌트
콘텐트 제공자 데이터를 관리하고 다른 애플리케이션에게 제공하 는 컴포넌트
PC의 애플리케이션
안드로이드에서는 다른 컴포넌트를 사용할 수 있다
예제 애플리케이션에서 사용자가 사진을 촬영하도록 하 고 싶은 경우
인텐트 애플리케이션의 의도를 적어서 안드로이드에 전달 하면 안드로이드가 가장 적절한 컴포넌트를 찾아서 활성화하고 실행
인텐트 사용의 예
매니페스트 파일 적재목록(적하목록)
매니페스트 파일 XML을 사용한다. <activity> 요소 : 액티비티 선언 <service> 요소 : 서비스 선언 <receiver> 요소 : 방송 수신자 <provider> 요소 : 컨텐트 제공자
XML XML은 안드로이드에서 아주 많이 사용된다. SGML의 부분 집합으로 웹 상에서 구조화된 텍스트 형식의 문서를 전송하고 수신하며 처리가 가능하도 록 만든 마크업 언어
매니페스트 파일의 예
안드로이드의 미래