Download presentation
Presentation is loading. Please wait.
Published by태경 도 Modified 8년 전
1
안드로이드 (Android) 발표자 : 이강민
2
1. 안드로이드란 ? 구글에서 제작한 모바일 디바이스를 위한 플랫폼 ▫ 모바일 디바이스 플랫폼이란 ? 모바일 디바이스를 위한 소프트웨어 집합 ( 미들웨어, 키 어플리케이션, 운영체제 등 ) 2. 모바일 플랫폼 시장 점유율 회사 ( 플랫폼 )07 년 08 년성장률 노키아 ( 심비안 ) 60%50%-10% RIM( 블랙베리 ) 10%16%80% 애플 (OS X) 3%13%300% 마이크로소프트 ( 윈 모바일 ) 13%11%-2% 아이폰 판매로 인해 애플 점유율 크게 증가
3
2012 년 모바일 플랫폼 시장 점유율 ( 전문가 예상 ) 2. 모바일 플랫폼 시장 점유율 ( 계속 ) 안드로이드폰 점유율 더욱 증가 예상 ▫ 개방형인 리눅스를 기반 ( 하드웨어와 서비스 개발폭이 넓음 ) ▫ SDK 공개 ( 안드로이드 환경에서 동작하는 소프트웨어 개발 가능 )
4
애플 App Store 와 구글 Android Market 비교 구글은 콘텐츠로 수익 취하지 않고 안드로이드 마켓 광고로 수익 창출 08 년 7 월 애플 앱스토어의 개장 후 6000 만번 다운로드, 3 천만불 수익 09 년 3 월에 다운로드 8 억만번으로 증가 ( 유 / 무료 콘텐츠 포함 ) 구글의 안드로이드 마켓 활성화 된다면 900% 까지 성장 전망으로 앱스토어 추월 예상 3. 콘텐츠 유통 비교대상 App StoreAndroid Market 운영 주체애플자율 애플리케이션 등록애플의 허락하에자율 SDK 다운로드애플의 허락하에누구나 수익분배 7:3( 애플 : 등록자 )7:3( 이동통신사 : 등록자 )
5
3. Android 특징 / 아키텍처 애플리케이션을 작성하기 위한 SDK 제공 Dalvik 가상머신 ▫JVM 과 같이 일종의 가상머신으로 모바일 디바이스를 가상으로 구동 ▫Dalvik 의 뜻은 Bornstein 이라는 사람이 살던 동네 이름 최적화된 그래픽 ▫2D, 3D 그래픽 라이브러리 제공 SQLite ▫ 안드로이드에서 제공하는 데이터베이스 시스템 미디어 지원 ▫ 일반적인 오디오, 비디오, 이미지 포맷 지원 GPS, 나침반, 가속도계, 카메라, 3G, GSM( 주파수 통신 ), 블루투스, WiFi( 무선인터넷 ), EDGE( 전자책 ) 지원 풍부한 개발 환경 ▫ 디바이스 에뮬레이터, 디버깅 도구, 메모리 / 성능 프로파일링, Eclipse IDE 를 위한 플러그인 제공 웹 브라우저 제공
6
3. Android 특징 / 아키텍처 ( 계속 ) 애플리케이션 ( 자바언어 ) ▫ 메일확인 클라이언트, SMS, 캘린더, 지도, 브라우저, 주소록 등 제공 애플리케이션 프레임워크 ▫ 애플리케이션을 개발하기 위한 각종 클래스와 메소드 제공
7
4. 애플리케이션 구조 (1/2) Activity, Intent Receiver, Service, Content Provider ▫ 모든 애플리케이션은 위 4 가지 조합으로 구성 ▫ 예 ) Activity 로만 구성, Activity 와 Service 로 구성 ▫AndroidManifest.xml 에 구성요소를 기록해야함 Activity 라이프 사이클 Activity ▫ 애플리케이션 내에 하나의 화면 을 일컫는 말 (View) ▫ 시스템이나 사용자의 반응 처리 ( 이벤트 처리 ) ▫ 여러 개의 윈도우 창처럼 여러 개의 Activity 를 가질 수 있음
8
4. 애플리케이션 구조 (2/2) Intent ▫ 화면과 화면 사이를 이동할 때 사용하는 클래스 ▫ 애플리케이션이 무엇을 해야하는지에 대한 정보가 담겨져 있음 ▫ 사용 예 ) Intent I = new Intent(this, NoteEdit.class); // this 가 NoteEdit 호출 startActivityForResult(I, ACTIVITY_CREATE); // this -> NoteEdit 로 화면전환 Intent Receiver ▫ 핸드폰으로 전화가 걸려오거나 데이터 네트워크 접속이 활성화 되는 것과 같이 외부에서 이벤트가 발생했을 때의 상황을 처리하기 위해 사용 Service ▫UI 와 상관없이 오랫동안 존재하면서 실행되는 코드 ▫ 예 ) 음악재생시 음악 재생을 시작하게 하는 것은 Activity 를 가지고 있으나, 음악을 재생하는 것은 Service 에 의해 이루어짐 Content Provider ▫ 어떤 애플리케이션 데이터를 다른 애플리케이션이 공유토록 할 때 사용
9
5. 화면 구성요소들의 계층구조 (1/2) 안드로이드 애플리케이션의 가장 기본적인 구성단위 Activity ▫ 한 화면을 나타내고 잇지만 그 자체로는 아무것도 나타내지 않음 ▫View, ViewGroup 클래스를 사용해야 화면에 무엇인가를 표시 View 클래스 ▫ 화면상에 직사각형 형태의 레이아웃과 각종 정보를 저장하는 자료구조 화면 크기 조절, 레이아웃 구성, 그리기, 포커스변화, 이벤트 처리 등 ViewGroup 클래스 ▫ViewGroup 은 View 안에 또 다른 View 를 가지고, 다른 ViewGroup 포함 가능
10
5. 화면 구성요소들의 계층구조 (2/2) LayoutParams 클래스 ▫View 객체가 어떻게 그려져야 하는지에 대한 정보를 부모에게 알려줌 ▫ 루트노드가 LinearLayout 이므로 3 개의 자식노드는 선형 배치 ▫ 자식 중 첫번째 노드는 RelativeLayout 이므로 3 개의 자식노드는 상대적 배치
11
6. 실제 개발 화면
12
6. 안드로이드 기반 어플리케이션 개발 계획 (1/4) 배경 ▫ 길을 걷다가 무심코 마음에 드는 옷을 발견하였을 때 그 옷이 나에게 어울리는가를 알아보기 위해 직접 옷을 입어보기란 여간 귀찮고 어려운 일 가상 의류 착용 어플리케이션 (VCWA) ▫Virtual Cloth Wearing Application ▫ 안드로이드폰에 카메라 기능을 이용하여 자신이 착용할 의류를 사진으로 찍 어 3D 형태로 랜더링 한 다음 자신의 체형에 가까운 3D 아바타를 이용하여 자신이 구입할 의류를 가상으로 입혀보고 구매를 결정을 돕는 어플리케이션
13
6. 안드로이드 기반 어플리케이션 개발 계획 (2/4) 문제 기술 / 해결 방안 ▫ 개인 아바타 / 의류 등록 자신의 전신 / 의류를 카메라로 찍어서 2D-> 3D 형태로 랜더링하는 방법 3D 구현을 위하여 안드로이드에서 제공하는 OpenGL ES 1.0 3D 그래픽 라이브러리, 안드로이드 3D 구현 도구 Rokon Game Engine 사용법 연구 인터넷 상에 이미 오픈소스되어있는 OpenGL 을 이용하여 2D->3D 로 변환해주는 프로그램 분석 ( 참고자료 : OPenGL SUPER BIBLE second edition : 인포북 ) ▫ 의류 착용 후 구현된 3D 아바타에 의류를 착용한 모습을 볼수 있음 아바타의 모습을 상하좌우 360 도로 회전 가능 아바타는 앉기, 달리기, 눕기 등의 행동 가능 여러 행동을 통해 옷이 자연스럽게 어울리는지 직접 확인 ▫ 카메라가 다른 사물을 제외하고 어떻게 신체나 의류만을 인식하는가 현재 나와있는 기술 분석 / 적용에 무리가 있다고 판단 …. 다른 방식으로 VCWA 구현 결정 !
14
6. 안드로이드 기반 어플리케이션 개발 계획 (3/4) VCWA 어플리케이션 시나리오 ▫ 개인 2D 아바타 등록 ( 정면, 측면, 후면 ) ▫ 마음에 드는 옷을 발견했을 경우 카메라로 정면 / 후면 / 측면을 촬영 비율에 맞도록 가이드 라인을 설정 ▫ 자신의 아바타와 옷을 매칭 사용자가 아바타의 관절을 늘리거나 줄이는 작업을 통해서 대상과 정확히 매칭 ▫ 변환 후 자신 체형에 맞는 옷을 착용한 모습 확인
15
☞ 참고 문헌 한국콘텐츠 학회 제 7 권 2 호, 구글의 안드로이드와 안드로이드 마켓 프로페셔널 안드로이드 애플리케이션 개발 / 리토 마이어 지음, 조성만 옮김
Similar presentations