android programming 1장....
TRANSCRIPT
스마트 폰 (1/12)
▶ 스마트 폰
- 정의
PDA 등에서 제공되던 개인 정보 관리 기능과, 휴대전화의 휴대전화 기능을 결합
한 휴대용 기기
- 운영체제
심비안, 팜 OS, 임베디드 리눅스, 윈도 모바일, 윈도 임베디드 CE
새로운 스마트 폰의 플랫폼으로 Apple iPhone과 Google Android
스마트 폰 (5/12)
▶ 국내 스마트폰 현황
WIPI 의무탑재 폐지(2009. 4. 1) 스마트폰
<출처: http://www.asiae.co.kr/news/view.htm?idxno=2008121013345747489&nvr=y>
스마트 폰 (9/12)
▶ 갤러시 S의 주요 특징
http://news.donga.com/Economy/3/01/20100608/28932221/1 - 자료 출처 : 동아일보: 2010. 06. 08)
App Store (1/4)
▶ AppStore 란?
- 애플리케이션(응용프로그램) 스토어
- 기능
애플의 아이폰 및 아이팟 터치용 애플리케이션(응용프로그램)과 스마트
폰용 콘텐츠 다운로드 서비스를 제공하는 개방형 모바일 장터
- 자료 출처 : http://etv.donga.com/view.php?idxno=201001180029338
App Store (2/4)
▶ AppStore 운영
- 개발자 등록
매년 99달러 비용
- 유료 애플리케이션 판매가격 책정
개발자가 자유롭게 책정
- 판매 수익 배분
애플은 해당 판매가격의 30%를 수수료 형태로 받음
- 2009년 12월 앱스토어 등록 애플리케이션
12 만개.
Android 란 ?
▶ Android 정의
안드로이드는 모바일 기기의 외관, 분위기, 기능을 모양 지을 수 있는 모바일
애플리케이션을 작성하기 위한 API 라이브러리 셋과 더불어, 운영체제, 미들웨
어, 그리고 핵심 애플리케이션을 포함하고 있는 오픈 소스 소프트웨어 스택이
다.
▶ Java 언어로 애플리케이션 개발
- 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리 제공
- 안드로이드 SDK : 각종 Tool, API 제공
- 달빅(Dalvik) 가상 머신 상에서 실행
모바일 기기를 위해 설계된 가상 머신
▶ Linux 커널
다양한 android 시스템 컴포넌트에서 사용되는 C/C++ 라이브러리
Android의 특징 (1/5)
▶ Android 특징
- 애플리케이션 Framework 제공
- 가상 머신
Dalvik 모바일 디바이스용 가상머신
- 최적화 Graphic
2D 그래픽 Library, 3D 그래픽 Library(OpenGL ES 1.0 Spec. 기반)
- SQLite
Database system
- 미디어 지원
오디오/비디오 format
MPEG-4, H.264 , AMR, AAC, MP3, MIDI, WAV, JPEG, PNG, GIF,
BMP
Android의 특징 (2/5)
▶ 운영체제:
- 오픈 소스 리눅스 커널(2.6)을 기반
- 메모리 관리, 멀티 스레드, 보안 등의 기능
- 모바일 환경에 맞도록 불필요한 기능은 제거, 필요한 기능을 추가
▶ 언어
- 자바 언어의 기본 라이브러리를 사용함.
- 런타임 환경은 JVM-Java Virtual Machine이 아닌 Dalvik VM
- OpenGL, SQLite 등의 많은 오픈 소스 라이브러리를 제공
▶ Application
- 네이티브 애플리케이션
- 서드파티 애플리케이션
▶ 라이센스 사용료나
- 오픈 소스 기반으로 라이센스 사용료나 개발비/배포비가 들지 않음
Android의 특징 (3/5)
▶ 추가 Hardware 지원
카메라, 터치스크린, GPS, 가속도센서, 나침반, 2D 그래픽 가속, 3D 그
래픽 가속 활용
▶ 개발 환경
디바이스 에뮬레이터, 디버깅 도구, 메모리와 성능 프로파일링
Eclipse IDE 플러그인
▶ 통합 브라우저
모바일용 웹 브라우저
▶ 안드로이드 Market
iPhone의 App Store 와 유사한 기능 제공
프리웨어, 유료 애플리케이션 다운로드
Android의 특징 (4/5)
▶ Android 운영체제 구성요소
Applications
Home Contacts Phone Browser
Application FrameworkActivity
ManagerWindow Manager
Content Provider
View System
Notification Manager
Package Manager
Telephony Manager
Resource Manager
Location Manager
XMPP Service
Linux Kernel
Surface ManagerOpenGL
ES
SGL
Media Framework
FreeType
SSL
SQLite
WebKit
Lib C
Libraries Android Runtime
Core Libraries
DalvikVirtual Machine
Display Driver Camera Driver Bluetooth Driver
Flash Memory Driver
Binder(IPC) Driver
USB Driver Keypad Driver WiFi Driver Audio Drivers Power Management
Android의 특징 (5/5)
▶ Open Handset Alliance(OHA)
안드로이드 이용자 모임
안드로이드 소스 및 SDK 공개
http://www.openhandsetalliance.com/OHA 회원사
Mobile OperatorsVodafone, Sprint, ….
Handset ManufacturersMotorola, 삼성전자, LG 전자, …
Semiconductor CompaniesIntel, TI, ….
Software CompanieseBay, SkyPop, …
Commercialization CompaniesAplix, WindRiver,…
안드로이드 구성 요소
• 안드로이드 스택을 지원하기 위한 하드웨어 참조 설계
• 모바일 장치에 최적화된 하위 수준의 인터페이스를 제공하는 리눅스 운영체제커널
• SQLite, WebKit, OpenGL, 미디어 관리자 등의 오픈 소스 라이브러리
• 애플리케이션을 실행하고 호스팅하는데 사용되는 런타임. Dalvik 가상 머신과특정 안드로이드 기능을 제공하는 코어 라이브러리를 포함
• 윈도우 관리자, 콘텐츠 공급자, 위치 관리자, 전화, 피어-투피어 서비스 등의 시스템 서비스를 애플리케이션 계층에 노출하는 애플리케이션 프레임워크
• 애플리케이션을 호스팅하고 띄우는 데 사용되는 사용자 인터페이스 프레임워크
• 미리 설치되어 스택의 일부로 탑재된 애플리케이션
• 애플리케이션 개발 도구, 플러그 인, 문서를 가지고 있는 개발 킷
안드로이드 상의 주요 Native 애플리케이션 (1/4)
이메일 : gmail과 호환되는 Text 위주 Application
SMS : Text 위주 Application
일정 : 달력과 연락처 목록을 가진 완전한 PIM 용 Data 관리 Application
Tmap, 지도 : 모바일 구글 맵과 연동되는 지도(Image) 기반 Application
웹 브라우저 : Webkit 기반 웹 브라우저 Application
뮤직 플레이어, 픽쳐 뷰어 : 동영상, 오디어 재생 Application
마켓 : 안드로이드 마켓용 클라이언트 Application
등등 다양한 미디어 콘텐츠의 서비스를 지원하는 다양한 application들이 존재함.
안드로이드 상의 주요 Native 애플리케이션 (1/2)
삼성 갤럭시 S 내장된 기본 어플리케이션들(설정/검색 기능 제외)
아이콘 이름 기능 멀티미디어Type
최근 기록 최근 전화목록을 보여주는 서비스 Text
알람/시간 알람 및 시간, 스탑와치, 타이머 프로그램 Text
일정 Google에서 제공하는 일정관리 프로그램 Text
갤러리촬영 된 사진 및 비디오영상을 보관하는 프로그램
Image, Video
TV DMB TV, Radio 시청이 가능한 프로그램 Audio, Video
뮤직플레이어
각종 음악파일 재생 프로그램 Audio
인터넷 인터넷 브라우저(Google 기본) Text, Image
지도 Google에서 제공하는 지도 프로그램 Text, Image
비디오플레이어
각종 영상 파일 재생 프로그램 Video
NATE네이트에서 제공하는 각종 프로그램 사용 가능 서비스
Text, Image
T map SKT에서 제공하는 지도 프로그램 Text, Image
YouTube 각종 동영상 자료를 시청 할 수 있는 프로그램Text, Image,Audio, Video
안드로이드 상의 주요 Native 애플리케이션 (1/2)
삼성 갤럭시 S 내장된 기본 어플리케이션들(설정/검색 기능 제외)
아이콘 이름 기능 멀티미디어Type
최근 기록 최근 전화목록을 보여주는 서비스 Text
알람/시간 알람 및 시간, 스탑와치, 타이머 프로그램 Text
일정 Google에서 제공하는 일정관리 프로그램 Text
갤러리촬영 된 사진 및 비디오영상을 보관하는 프로그램
Image, Video
TV DMB TV, Radio 시청이 가능한 프로그램 Audio, Video
뮤직플레이어
각종 음악파일 재생 프로그램 Audio
인터넷 인터넷 브라우저(Google 기본) Text, Image
지도 Google에서 제공하는 지도 프로그램 Text, Image
비디오플레이어
각종 영상 파일 재생 프로그램 Video
NATE네이트에서 제공하는 각종 프로그램 사용 가능 서비스
Text, Image
T map SKT에서 제공하는 지도 프로그램 Text, Image
YouTube 각종 동영상 자료를 시청 할 수 있는 프로그램Text, Image,Audio, Video
안드로이드 상의 주요 Native 애플리케이션 (1/2)
삼성 갤럭시 S 내장된 기본 어플리케이션들(설정/검색 기능 제외)
아이콘 이름 기능 멀티미디어Type
최근 기록 최근 전화목록을 보여주는 서비스 Text
알람/시간 알람 및 시간, 스탑와치, 타이머 프로그램 Text
일정 Google에서 제공하는 일정관리 프로그램 Text
갤러리촬영 된 사진 및 비디오영상을 보관하는 프로그램
Image, Video
TV DMB TV, Radio 시청이 가능한 프로그램 Audio, Video
뮤직플레이어
각종 음악파일 재생 프로그램 Audio
인터넷 인터넷 브라우저(Google 기본) Text, Image
지도 Google에서 제공하는 지도 프로그램 Text, Image
비디오플레이어
각종 영상 파일 재생 프로그램 Video
NATE네이트에서 제공하는 각종 프로그램 사용 가능 서비스
Text, Image
T map SKT에서 제공하는 지도 프로그램 Text, Image
YouTube 각종 동영상 자료를 시청 할 수 있는 프로그램Text, Image,Audio, Video
안드로이드 상의 주요 Native 애플리케이션 (1/2)
삼성 갤럭시 S 내장된 기본 어플리케이션들(설정/검색 기능 제외)
아이콘 이름 기능 멀티미디어Type
계산기 계산기 서비스 Text
사전 영/한, 한/영 사전 프로그램 Text
KUOBOeBook
교보문고에서 제공하는 e-Book 보기 프로그램
Text, Image
OnNews 주요 뉴스 기사 제공 프로그램 Text, Image
가계부 가계부 작성 프로그램 Text
네비게이션 위치 정보 알림 서비스 프로그램 Text, Image
Daum 지도 Daum에서 제공하는 지도 프로그램 Text, Image
Daum 팟 Daum에서 제공하는 방송 서비스 프로그램Text, Image,Audio, Video
미투데이 한 줄 블로깅 서비스 프로그램 Text, Image
쇼핑하우Daum에서 제공하는 실시간 인터넷쇼핑 프로그램
Text, Image
네이버지도 네이버에서 제공하는 지도 프로그램 Text, Image
미니홈피 싸이월드에서 제공하는 미니홈피 열람 서비스 Text, Image
안드로이드 버젼
이름 버젼 날짜
Cup Cake
1.5 2009-4-30
Donut 1.6 2009-9-15
Eclair2.0/2.
12009-10-
26
Froyo 2.2 2010-5-19
Ginger bread
3.0 미정
Android Market (2/4)
▶ Apple App Store vs. Android Market
App Store Android market
Service 시기 2008. 7. 11 2008. 8. 28
운영주체 Apple 자율적
애플리케이션등록 Apple 승인필요 자율적
SDK Download After registration Everybody
수익분배 CP : Apple = 7 : 3 CP : 이통사/솔루션업체 = 7 : 3
Phone 출시시기 iPhone 2007. 6. 29 Android Phone 2008. 10. 22
▶ 기타
블랙베리의 RIM : 블랙베리 App Center
Palm : Software Store
SKT : T store
Android Market (3/4)
▶ Android Market Download
애플리케이션 평균 7,800 + 다운로드
애플리케이션 평균 7,800 최근 Download 애플리케이션
<출처 : http://www.medialets.com>
Android Developer Challenge (1/7)
▶ Android Developer Challenge I
2007. 11. 13 개최: 1800 팀 참가
▶ Android Developer Challenge I 수상자 분포
Android Developer Challenge (2/7)
▶ Android Developer Challenge I 수상작 (1위~10위)
Application 기능 주변기기및연동
Cab4me 택시 호출 GPS
Compare Everywhere 상품 가격 비교 GPS, 카메라, 바코드, 웹
Ecorio 에너지 소모량 측정 GPS
GoCart 상품 가격 비교 GPS, 카메라, 바코드, 웹
Life360 가족 위치 상태 공유 GPS
Locale 위치 기반 폰 설정 GPS
PicSay 사진 편집 및 업로드 GPS, 카메라
Softrace 경주 GPS
TuneWiki 음악 재생 및 정보 공유 GPS
Wertago 유흥 정보 공유 GPS
Android Developer Challenge (3/7)
▶ Android Developer Challenge I 수상작 (11 ~ 20위)
Application 기능 주변기기및연동
BreadCrumbz 사진 공유 GPS, 카메라
Cooking Capsules 요리법 공유 및 재료 판매 정보 GPS
Maverick 멀티미디어 메시징 GPS
PebbleBox 지역 정보 공유 및 커머스 GPS
PhoneBook 2.0 통합 주소록 및 정보 공유 GPS
Piggyback 카풀 정보 공유 GPS
Pocket Journey 지역 및 여행 정보 공유 GPS
Rayfarla 음악 관련 엔터테인먼트
ShareYourBoard 화이트보드 정보 공유 카메라
Teradesk e-Storage 원격지 가상 파일 저장
Android Developer Challenge (4/7)
■ ▶ Android Developer Challenge I 수상작 Gallery
http://code.google.com/intl/ko-KR/android/adc/adc_gallery/
• cab4meGoCart PicSay
BioWallet GolfPlayPhoneBook 2.0
Android Developer Challenge (5/7)
▶ 평가자
100명의OHA 전문가
▶ 평가기준
Originality (창의성) ★
Effective Use of the Android Platform (플랫폼의 활용도)
Polish and Appeal (완성도와 매력도)
Indispensibility (인기도)
▶ 고려사항
문서의 중요성: 프로그램과 문서 동일하게 중요, 문서만 한달 작업
아이디어만으로는 부족: 같은 아이디어가 여러 개 출품, 유저 인터페이스 중요
플랫폼의 활용도: 중요하지 않은 기능이라도 넣을 필요 있음
완성도: 파일용량, 데이터사용량, 배터리사용량
Android Developer Challenge (6/7)
▶ 참여 방법
팀★(27)
개인(14)
회사(9)
▶ 팀 업하기
팀원은 2 ~4명이 적당
기획자도 참여 가능
▶ 커뮤니티
ADC 안내를 위한 한국개발자 커뮤니티
http://www.kandroid.org/