A n d r o i d Android 2010년 5월 19일 동서대학교 백선재 loboghost@nate.com
Contents Android 소개 Android 구성 Processing
Android 소개 Internet vs Smart Phone Apple vs Android Market Android Platform
Internet and Mobile Phone User
Smart phone Sales
Apple vs Android Platform Apple Mobile Platform vs Android Open Platform
Android Smart Phone
Market
중앙 집중화된 시장 형성 안드로이드 챌린지 대회 개발자 유치 경쟁에서 가장 중요한 것 개발자 등록비 25$ Android Market 중앙 집중화된 시장 형성 안드로이드 챌린지 대회 개발자 유치 개발자 유치 경쟁에서 가장 중요한 것 마켓의 크기 개발자 등록비 25$ 7 : 2 : 1 = 개발자 : Google : 통신사 = 70% : 20% : 10% 광고 수익을 주 전략으로 세움
Android Market 애플리케이션 등록에 제한이 없음 신뢰성의 문제 사용자의 평가와 동의로 해결
Android Platform
Android 구성 Android 란? Android 특징 Android Architecture Android Application
운영체제, 미들웨어, 키 응용프로그램을 가지고 있는 모바일 장치용 소프트웨어 스택 (Stack) Android 란? 운영체제, 미들웨어, 키 응용프로그램을 가지고 있는 모바일 장치용 소프트웨어 스택 (Stack) 구글의 휴대폰용 오픈 소스 소프트웨어 플랫폼 (또는 주변도구) 모바일 웹 응용을 위한 휴대폰용 소프트웨어 플랫폼 주로 구글의 서비스를 이용 단말 환경에서 구현하고 활용하기 위한 모바일 기반 플랫폼 Android SDK 안드로이드 플랫폼용 응용 프로그램을 Java언어로 개발 가능하게 하는 여러 가지 도구들과 API들을 제공
재사용 및 대체가 가능한 Application Framework Android 특징 재사용 및 대체가 가능한 Application Framework 모바일 장치에 최적화된 Dalvik Virtual Machine Web Kit 엔진을 기반으로 한 Integrated Browser 2D, 3D (OpenGL ES 1.0) 그래픽을 지원 구조적 데이터 처리를 위한 SQLite 다양한 오디오, 비디오, 이미지 포맷을 지원 GSM Telephony (h/w dependent) Camera, GPS, Compass, Accelerometer (h/w dependent) 뛰어난 개발 환경 (에뮬레이터, 디버깅 툴, Eclipse plug-in, etc.)
Android Architecture
Android는 Linux kernel 기반 Android Kernel Android는 Linux kernel 기반 메모리 및 프로세스 관리, permission 기반의 보안 모델, 검증된 드라이버 모델, 공유 라이브러리 지원, 오픈 소스 기반의 장점 Android is not Linux 표준 리눅스 유틸리티를 전부 포함하진 않음. glibc 지원하지 않음.
Media Lib, Native Server LibWebCore, SGL, 3D Lib, FreeType SQLite Android Libraries System C Library Media Lib, Native Server LibWebCore, SGL, 3D Lib, FreeType SQLite
Dalvik Vitual Machine Core Library 임베디드 환경에 최적화된 독자적인 clean-room 가상 머신 Android Runtime Dalvik Vitual Machine 임베디드 환경에 최적화된 독자적인 clean-room 가상 머신 애플리케이션의 호환성과 실행 일관성을 제공 최적화된 포맷 (.dex)과 Dalvic 바이트 코드 실행 다양한 가상 머신 프로세스들을 지원 Core Library 단순하고 익숙한 개발 플랫폼을 제공하는 Java언어를 위한 CoreAPI 포함
Application Framework Application Framework 상위 단의 Application이 사용하는 Service들의 모임 (사용자의 필요에 따라 Interact하지 않을 수 있음) Activity Manager: 애플리케이션의 Lifecycle을 담당 Package Manager: 시스템에서 애플리케이션들의 정보 담당 Window Manager: 모든 애플리케이션과 관련된 화면 담당 View System: Standard widget 담당 Hardware Service Bluetooth, telephony, location,…
Application 구성
Application Lifecycle
Processing Download 설치 Example
http://android.processing.org 설명 http://developer.android.com sdk, ADT Download http://android.processing.org 설명 http://developer.android.com sdk, ADT Download JDK, Eclipse android-sdk_r05 ADT-0.96 processing-0184
Step JDK, Eclipse 설치 Eclipse processing-0184 설치 [Help]-[Install New Software] 선택 -> ADT 추가 -> 다시 시작 [Windows]-[Preferences] 선택 -> [Android] -> android_sdk 추가 [Windows]-[Android SDK and AVD Manager] 선택 -> [Available Packages] 선택 – [Install Selected] 선택 SDK Platform Android 2.0.1, API 6 Google APIs by Google Inc., Android API 6 processing-0184 [Tools]-[Android Mode] 선택 -> Eclipse에서 추가했던 android_sdk 추가
Example Example 실행
Q & A