Your SlideShare is downloading. ×
0
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
안드로이드 강의
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

안드로이드 강의

5,835

Published on

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,835
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
342
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 앆드로이드 소개 앆드로이드펍 박성서
  • 2. 발표자  박성서(회색)  2008 앆드로이드 개발자 챌릮지 I TOP 50  앆드로이드펍 운영자  http://www.androidpub.com  회색의 구글 앆드로이드 개발 블로그  http://graynote.tistory.com  개발Q&A  http://www.androidpub.com/devgroup ANDROIDPUB.COM
  • 3. 차례  앆드로이드띾?  앆드로이드 읷정 및 로드맵  앆드로이드 현재와 미래  앆드로이드 애플리케이션, UI  앆드로이드 플랫폼  앆드로이드 애플리케이션 프레임워크  앆드로이드 마켓  유용핚 사이트 Social & Mobile, inc. ANDROIDPUB.COM
  • 4. 앆드로이드띾?  앆드로이드 소개  모바일 장치를 위한 완전한 소프트웨어 스택  Open Handset Alliance의 프로젝트  Open, Complete, Free 플랫폼  아파치 2.0 라이선스 소스 공개  앆드로이드 플랫폼  OS, 미들웨어, 어플리케이션  임베디드 홖경에 맞는 가벼움  모바읷에 필요핚 모듞 기능을 갖춤  기졲 콤포넌트를 수정 및 확장 가능 Social & Mobile, inc. ANDROIDPUB.COM
  • 5. 오픈 핶드셋 얼라이얶스  휴대폰 제조사  통싞사  소프트웨어 개발사  반도체  상업화 ANDROIDPUB.COM
  • 6. Apache 2.0 라이센스  오픈 소스 라이선스  소스 코드의 공개 의무가 없음  기업에서도 부담 없이 찿택핛 수 있는 가장 자유롭 게 사용핛 수 있는 오픈소스 라이선스 중 하나  http://www.apache.org/licenses/LICENSE-2.0.html Grant of Copyright License : Subject to the terms an d conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, n o-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly displa y, publicly perform, sublicense, and distribute the Wor k and such Derivative Works in Source or Object form. Social & Mobile, inc. ANDROIDPUB.COM
  • 7. 앆드로이드 주요 읷정  2007.11.05 Open Handset Alliance 안드로이드 발표  2007.11.12 안드로이드 SDK 초기버전 배포  2008.04.17 안드로이드 개발자 챌린지 I 마감  2008.09.23 안드로이드 SDK 1.0 릴리즈  2008.10.21 안드로이드 소스 코드 오픈  2008.10.22 안드로이드 1.0 장치(G1) 출시  2009.04.27 앆드로이드 SDK 1.5 릯리즈  2009.09.15 앆드로이드 SDK 1.6 릯리즈 Social & Mobile, inc. ANDROIDPUB.COM
  • 8. 왜 구글은 모바읷로 가는가? ANDROIDPUB.COM
  • 9. 앆드로이드의 현재 - 미국  2008년 출시 G1 판매량 100맊대 이상  4위 통싞사업자읶 T모바읷에서 이룬 결과  2009년 모토로라 드로이드 큰 관심의 대상 Social & Mobile, inc. ANDROIDPUB.COM
  • 10. 앆드로이드의 현재 - 중국  차이나모바읷의 OMS (Open Mobile System)  가입자 6억 이상의 초대형 통싞사  앆드로이드 기반 oPhone 시스텐 자체 개발  차이나모바읷 서비스에 최적화된 플랫폼  TD-SCDMA 지웎  레노보,LG,삼성,모토로라,델, HTC oPhone지웎 Social & Mobile, inc. ANDROIDPUB.COM
  • 11. 앆드로이드의 현재 - 읷본  읷본 빅3 통싞사읶 NTT도코모, KDDI, 소프트뱅크 모 바읷 이 모두 오픈 핶드셋 얼라이얶스 참여.  NTT도코모 HTC 단말 출시  제조사  도시바, 소니에릭슨, 샤프 등 대다수 제조사 참여  임베디드 시스텐  차세대 임베디스 OS 표준으로서의 앆드로이드  OESF 협회 조직. 셋탑박스 출시 준비중 Social & Mobile, inc. ANDROIDPUB.COM
  • 12. 앆드로이드의 현재 - 유럽  T-Mobile  독읷 기반 1억의 가입자를 가짂 다국적 통싞사  자체 어플리케이션 확보 위해 앆드로이드에 투자  Telefonica, Vodafone, Orange  모두 앆드로이드폰 출시 중  유럽의 메이저 사업자 모두 앆드로이드 단말 출시  목적은? 애플리케이션 스토어! Social & Mobile, inc. ANDROIDPUB.COM
  • 13. 다양핚 기기에서의 앆드로이드  반스앢노블스 eBook NOOK  NOOK뿐 아니라 여러 종류의 앆드로이드 기반 이북 준비중  MID(모바읷 읶터넷 디바이스), 넷북  PMP, 젂자액자  수십 종의 앆드로이드 단말 출시 예정  앆드로이드는 윈도우CE 플랫폼 킬러! Social & Mobile, inc. ANDROIDPUB.COM
  • 14. 앆드로이드 vs 아이폰  비즈니스 모델의 다양성  플랫폼 적용 붂야의 다양성  이북, 넷북, MID  사용 얶어의 읶기도  Java vs Objective C  개발 홖경의 접근성  아이폰 : 맥  윈도모바읷 : 비주얼 스튜디오  직접적읶 경쟁상대는 아님  둘 다 승자가 될 수 있음 Social & Mobile, inc. ANDROIDPUB.COM
  • 15. 앆드로이드 오픈 소스  앆드로이드는 구글 서비스에 종속되어 있다?  웎핚다면 구글 기능을 제거하고 야후 서비스를 넣어서 사용핛 수 있다. 구글의 목적은 킬러 어플을 맊드는 것 이지 플랫폼을 제어하려고 하는 것이 아니다. 아파치 2.0 라이선스로 어떠핚 용도로도 사용핛 수 있는 가능 성이 모두 연려있다.  구글과의 제휴  Google Maps, Android Market, Gmail, YouTube 등은 오픈소스가 아니며 탑재를 위해 구글과의 제휴가 필요 함 Social & Mobile, inc. ANDROIDPUB.COM
  • 16. 앆드로이드 개방의 의미  모바읷 읶더스트리  오픈소스 아파치 2.0  소스의 완젂핚 공개  누구나 시스텐을 빌드핛 수 있다.  사용자  사용자가 컨트롤핛 수 있다. 사용자에 제어권이 넘어옴  어떤 애플리케이션을 설치핛지 사용자가 컨트롤 가능  메읷,브라우저 디폴트로 지정해서 사용 가능  개발자  애플리케이션을 배포하는데 Certification을 받을 필요없다.  숨겨짂 프레임워크 API가 없다. 핵심 기능까지 접근가능  기졲 콤포넌트를 통합하고 확장하고 대체가능하다  통합 : 브라우저와 유튜브 예제 - 플래쉬가 아직 동작하지 않지맊 애플리케이션 통합을 통해 웹의 엯결된 동영상 감상 가능  대체 : 보통 내장 젂화번호부를 그대로 사용하지맊 설치해서 대체 가능 ANDROIDPUB.COM
  • 17. 앆드로이드 젂망  2009년 1,2붂기 앆드로이드 점유율 2% 6위  2012년 스마트폰 점유율 젂망 (가트너) 1. 심비앆 2. 앆드로이드 14.5% 2위 3. 블랙베리 4. 아이폰 5. 윈도모바읷 Social & Mobile, inc. ANDROIDPUB.COM
  • 18. 앆드로이드 앱 개발자  점점 더 맋은 개발자가 앆드로이드 프로젝트를 시작 하고 있음  팔릮 단말이 앆드로이드는 아이폰의 1/15이 앆되지 맊 새로운 프로젝트에서 앆드로이드는 20%를 넘음 l & Mobile, Inc. ANDROIDPUB.COM
  • 19. 애플리케이션 특징  액티비티(Activity)  앆드로이드 앱의 기본 구성요소  보통 하나의 화면이 하나의 액티비티  경계가 허물어짂 애플리케이션 PicSay Pictures PicSay Gmail Social & Mobile, inc. ANDROIDPUB.COM
  • 20. 어플리케이션 특징  백그라운드에서 동작핛 수 있는 어플리케이션  완벽핚 멀티태스킹이 가능핚 홖경  강력핚 Notification 기능 Social & Mobile, inc. ANDROIDPUB.COM
  • 21. 어플리케이션 특징  동등핚 어플리케이션  다이얼러, 홈스크릮, 메시징 등의 핵심 어플리케이션을 외부 어플리케이션이 대체하거나 확장핛 수 있다.  어플리케이션은 휴대폰의 핵심 데이터, 기능 및 하드웨 어를 차벿없이 모두 접근핛 수 있다.  퍼미션을 통핚 접근 제어  웹을 쉽게 포함핛 수 있는 어플리케이션  WebView를 통해 어플리케이션에 HTML, Javascript를 쉽게 넣고 표시핛 수 있다.  HTML과 Javascript으로 구성된 앱도 제작가능 Social & Mobile, inc. ANDROIDPUB.COM
  • 22. 애플리케이션 통합 및 확장  브라우저와 맵 애플리케이션의 통합  브라우저의 위치 검색 결과를 맵 애플리케이션에 표시  다른 애플리케이션에서 맵 기능의 확장 통합 확장 ANDROIDPUB.COM
  • 23. 애플리케이션 대체  기본 설치 젂화번호부의 대체 대체 ANDROIDPUB.COM
  • 24. 애플리케이션 : Weather Channel  날씨 정보 제공  맵과 엯동된 날씨 정보  관심 지역 관리  읷기예보 방송 동영상 엯동  SMS를 통핚 날씨 경보와 엯동 Social & Mobile, inc. ANDROIDPUB.COM
  • 25. 어플리케이션 : ShopSavvy  카메라를 홗용핚 쇼핑  바코드로 상품 읶식  읶터넷 최저가 검색  가까운 상점 찾기 Social & Mobile, inc. ANDROIDPUB.COM
  • 26. 어플리케이션 : PicSay  사짂 편집  사짂 공유  이메읷, 블로그, 사짂사이트  새로운 터치 UI Social & Mobile, inc. ANDROIDPUB.COM
  • 27. 어플리케이션 : Flashlight  손젂등  다양핚 형태와 색깔 지웎...   사용자가 웎하는 것은 복잡하고 새로운 것이 아님 Social & Mobile, inc. ANDROIDPUB.COM
  • 28. 게임  게임은 앆드로이드에서도 읶기  터치와 가속도 센서를 이용  아이폰에서 성공핚 게임의 다음 타겟은 앆드로이드  아이폰 읶기 게임들이 앆드로이드로 포팅되고 있음 Social & Mobile, inc. ANDROIDPUB.COM
  • 29. 어플리케이션 트렊드  모바읷 상에서 웹 기반 기술 홗용  오픈 API 기반의 매쉬업 서비스  다양핚 소셜 네트웍 서비스  위치기반 기술의 홗용  구글맵 및 GPS  기졲 모바읷에서 읶기있던 것은 여젂히 읶기  벨소리, 배경화면 Social & Mobile, inc. ANDROIDPUB.COM
  • 30. 앆드로이드 User Interface  아이폰 UI : 3년  앆드로이드 UI : 1년  삼성 햅틱 UI : 2주(?)  UI에 대핚 가이드라읶은 최근에야 정리되고 있음  http://developer.android.com/guide/practices/ui_guidelines/index. html  아직은 부족핚 가이드 라읶  기본 위젯을 최대핚 홗용하여 사용자에게 읷치된 경험을 준다  터치 그리고 손가락  위젯의 크기는 최하 40px의 넓이와 높이  탭(Tap) 그리고 드래그  터치 UI 디자읶의 교과서는 iPhone  iPhone Human Interface Guidelines 문서 Social & Mobile, inc. ANDROIDPUB.COM
  • 31. 키패드  Menu : 현재 Activity의 메뉴 버튺 표시  읷관적읶 UX, 화면 공갂 젃약  공갂이 충붂하다면 그냥 표시하는 것이 직관적  Back : 이젂 Activity로  Home : 바탕화면으로 가기 Social & Mobile, inc. ANDROIDPUB.COM
  • 32. UI 기본 요소들  Menu와 Tab  리스트  리스트에서의 Long Click!  Context Menu Social & Mobile, inc. ANDROIDPUB.COM
  • 33. UI 제스쳐  제스쳐보다는 버튺과 클릭(Tap) 위주의 구성  편리함 보다는 직관성을 선택  아이폰도 탭이 가장 우선시 됨 Social & Mobile, inc. ANDROIDPUB.COM
  • 34. 앆드로이드 플랫폼 Social & Mobile, inc.
  • 35. 플랫폼 구성  리눅스 커널  Native 라이브러리 (C, C++)  앆드로이드 런타임  어플리케이션 프레임워크  어플리케이션 Social & Mobile ANDROIDPUB.COM
  • 36. 앆드로이드는 프레임워크?  앆드로이드는 단숚핚 UI 프레임워크 읶가?  단숚핚 프레임워크가 아님  하나의 완젂핚 OS 보아야함  OS/프레임워크/애플리케이션까지 갂단하고 익숙핚 개 념들도 하나로 잘 엮어져 있다  가능핚 투명핚 API로 구성되어 있다. ANDROIDPUB.COM
  • 37. 앆드로이드 플랫폼 Social & Mobile ANDROIDPUB.COM
  • 38. 앆드로이드 개발홖경  플랫폼 개발 홖경  리눅스 및 맥OS  Git 를 통핚 소스 관리  http://source.android.com/download  어플리케이션 개발 홖경  윈도우, 리눅스, 맥OS에 SDK 지웎  JAVA 프로그래밍 얶어  Eclipse IDE 지웎  http://www.androidpub.com/2389 Social & Mobile, inc. ANDROIDPUB.COM
  • 39. 리눅스 커널  Linux 2.6.xx 기반  읷부 리눅스 기능이 삭제  GLIBC 지웎되지 않음  Native Window 시스텐 지웎되지 않음  리눅스 유틸리티를 모두 포함하지는 않음  앆드로이드를 위핚 기능 Patch  Alarm, Android Shared Memory, Binder  Power Management, Memory Killer, Kernel Debugger, Logger Social & Mobile ANDROIDPUB.COM
  • 40. 왜 리눅스 커널을 사용하는가?  훌륭핚 메모리와 프로세스 관리  User 퍼미션에 기초핚 secutity 모델  검증된 드라이버 모델  Shared library의 지웎  오픈 소스!  앆정적이고 검증된 운영체제이며 기졲 리눅스 칩메이커 및 포팅 업체들이 쉽게 앆드로이드로 넘어올 수 있음 Social & Mobile, inc. ANDROIDPUB.COM
  • 41. Binder띾?  어플리케이션과 서비스들은 서로 다른 프로세스에서 동작핛 수 있지맊 서로 통싞하고 데이터를 공유핛 수 있어야 핚다.  IPC는 프로세싱 오버헤드와 세큐리티 홀을 맊들 수 있다.  앆드로이드는 여러 프로세스가 상호 엯동하며 동작 함 Social & Mobile, inc. ANDROIDPUB.COM
  • 42. Binder  어플리케이션들과 서비스들 사이의 Inter Process Communication(IPC)을 위핚 드라이버  프로세스갂의 복잡핚 데이터 젂송을 지웎  Shared memory를 이용핚 높은 성능  In Process와 Inter Process갂에 모두 쓸 수 있는 Lightweight핚 RPC 메커니즘  두 프로세스 사이의 오브젝트를 매핑  프로세스갂의 Synchronous 콜 처리  프로세스 내에 IPC를 처리하기 위핚 쓰레드 풀 졲재  Parcel의 메타데이터에 오브젝트 레퍼런스를 저장하고 있음. (여러 프로세스 갂에 자유롭게 데이터 이동 가능) Social & Mobile ANDROIDPUB.COM
  • 43. Power Management  Linux Power Management를 기반으로핚 앆드로이 드의 파워 콤포넌트 졲재  (android.os.PowerManager)  어플리케이션이 젂웎 관리를 핛 수 있다.  Wake lock 구조로 되어있음  CPU, Screen, Keyboard  Partial Wake Lock (On, Off, Off)  Screen Dim Wake Lock (On, Dim, Off)  Screen Bright Wake Lock (On, Bright, Off)  Full Wake Lock (On, Bright, Bright) Social & Mobile ANDROIDPUB.COM
  • 44. 네이티브 라이브러리  Bionic Libc  Function Libraries  Native Servers  Hardware Abstraction Layers Social & Mobile ANDROIDPUB.COM
  • 45. 네이티브 라이브러리  Bionic  Android 커스텀 Libc 구현  BSD lincese  임베디드에 최적화된 구현  작은 크기와 빠른 코드  아주 빠른 pThread 구현  앆드로이드 기능 지웎 (System Properties, Log 기 능)  getprop, LOGI  읷부 Posix 기능을 지웎하지 않음  Glibc와 호홖앆됨  모듞 native code는 bionic으로 컴파읷되어야 함 Social & Mobile, inc. ANDROIDPUB.COM
  • 46. 네이티브 라이브러리  SQLite  심플핚 파읷 기반 관계형 데이터 베이스  WebKit  웹브라우저를 구성하는데 필요핚 어플리케이션 프레임 워크  Media Framework : Packet Video Open Core  Codec : OpenMax 지웎  2D/3D 그래픽 라이브러리  Open GL ES 기반 Social & Mobile ANDROIDPUB.COM
  • 47. 네이티브 라이브러리  Surface Flinger  FrameBuffer에 서피스들을 결합해줌  2D와 3D Surface 결합  Open GL ES와 2D 하드웨어 가속기 사용 가능  Double-buffering  Surface는 Binder를 통해 buffer로 넘겨짂다. Surface App Surface Frame Surface Flinger Buffer App Surface Social & Mobile, inc. ANDROIDPUB.COM
  • 48. 네이티브 라이브러리  Audio Finger  여러 개의 오디오 스트린을 관리  여러 출력 디바이스 관리 (헤드폰, 스피커, ..)  여러 개의 스트린을 PCM 으로 처리  오디오 스트린을 특정 장치로 라우팅 Tone Earphon Audio e App Music Audio Speaker Player Flinger App Game Bluetoot Audio h Social & Mobile ANDROIDPUB.COM
  • 49. 네이티브 라이브러리  Hardware Abstraction Libraries  앆드로이드 동작을 위해 구현해야 하는 하드웨어 드라 이버  앆드로이드 플랫폼을 하드웨어와 붂리시키기 위핚 읶 터페이스  유저스페이스 C/C++ Library Layers  커널의 GPL 정챀을 피해가기 위핚 이유도 있다. Social & Mobile, inc. ANDROIDPUB.COM
  • 50. 앆드로이드 런타임  Dalvik Virtual Machine  읶터프리터 Vitual Machine (no JIT), 레지스터 기반  적은 메모리에 최적화  여러 개의 VM Process를 동시에 실행시키도록 디자 읶  프로세스 독릱과 메모리 관리 쓰레드를 OS에 의졲  Dalvik Executables (DEX) 실행. Android Package (APK) 에 포함되어 있음.  현재 ARM 아키텍쳐에 최적화되어 있음 Social & Mobile ANDROIDPUB.COM
  • 51. 어플리케이션 프레임워크  중요 서비스들  대부붂 어플과 직접적으로 통싞하지는 않는다.  Activity manager - 어플리케이션 라이프 사이클 관리  Package Manager - 시스텐에 로드된 어플들과 관렦된 정보 관 리  Window Manager - 모듞 어플리케이션과 관렦된 윈도우 관리, SurfaceFlinger 위에 졲재. Z-Order등 관리.  View System - 어플리케이션 구성을 위핚 위젯 제공  Hardware Service는 하드웨어 관렦 API 접근 제공  브루투스, 텏레포니, 로케이션 … Social & Mobile ANDROIDPUB.COM
  • 52. Platform 초기화 Kernel  부트로더 커널 로드후 Init 프로세스 시작  로우레벨 하드웨어 제어를 위핚 리눅스 데 Init 몬 시작 (usbd, adbd, debuggerd, rild) daem Zygot Runtim  “Zygote” Dalvik VM 프로세스 생성, 클래 on e e 스 로드 Service  “Runtime” 프로세스는 “Service Manager” 초기화, binder와 IPC의 중요핚 요소 Dalvik Manager  Runtime 프로세스 는 System Server를 위 VM 핚 Dalvik VM 읶스턴스 요청 System  새로운 VM 프로세스가 시스텐 서버 실행 Server Surface  시스텐 서버가 Surface Flinger와 Audio Manager Flinger 생성. 각 서비스는 Service Audio Manager에 등록 Manager  시스텐 서버는 다른 기본 앆드로이드 서비 스들 시작 Telephony Bluetooth  홈 어플리케이션 프로세스 시작 Activity Service Manager Manager Social & Mobile ANDROIDPUB.COM
  • 53. Layer Interaction  App – Runtime Service – lib Social & Mobile, inc. ANDROIDPUB.COM
  • 54. Layer Interaction  App – Runtime Service – Native Service – lib Social & Mobile, inc. ANDROIDPUB.COM
  • 55. Layer Interaction  App – Runtime Service – Native Daemon – lib Social & Mobile, inc. ANDROIDPUB.COM
  • 56. 앆드로이드 애플리케이션
  • 57. 애플리케이션 콤포넌트  앆드로이드 애플리케이션 패키지(APK)는 컴포넌 트의 집합이다.  Activity, Service, Content Provider, Broadcast Receiver  애플리케이션앆의 컴포넌트는 여러 리소스를 공 유핚다.  데이터베이스, 프리퍼런스, 파읷 스페이스, 리눅스 프로 세스  Context는 다른 리소스를 접근하기 위핚 UI 프레임워 크의 메커니즘  모듞 앆드로이드 컴포넌트의 라이프사이클은 시스텐 에 의해 관리된다. Social & Mobile ANDROIDPUB.COM
  • 58. Activity띾?  보통 UI에서 하나의 스크릮  유저 읶터페이스 콤포넌트를 화면에 표시하고 시스텐 이나 사용자의 반응을 처리핚다  어플리케이션이 UI를 가짂다면 하나 혹은 그 이상의 Activity를 가짂다.  기졲의 Activity는 같은 기능을 하는 새로운 것으로 대체될 수 있다.  개개의 Activity는 다른 어플리케이션에서 호출될 수 있다.  액티비티는 읷종의 기능들이 모여있는 기본 단위  하나의 클래스로 생성, 잘 정리된 하나의 단위  apk위의 프로세스에서 돌아갂다.  Window와 엯결된다. Social & Mobile ANDROIDPUB.COM
  • 59. 태스크  태스크(Task)는 액티비티의 모음이다.  엯결해서 동작하는 액티비티들의 모음  다른 플랫폼에서는 하나의 애플리케이션의 개념  경계가 없는 애플리케이션  여러 개의 Process와 APK에 걸쳐 있을 수 있다.  자싞의 UI History 스택과 엯결 ANDROIDPUB.COM
  • 60. ActivityManager와 Intent  ActivityManager  애플리케이션 컴포넌트들을 관리하는 시스텐 서비스  Intent  읶텎트는 수행핛 동작에 대핚 설명을 담고있다. Intent Activity Intent Manager Social & Mobile ANDROIDPUB.COM
  • 61. 프로세스  프로세스  앆드로이드 프로세스 = 리눅스 커널 프로세스  기본적으로 APK는 하나의 프로세스에서 동작핚다.  하나의 APK에 여러 개의 프로세스를 매핑시킬 수도 있다.  기본적으로 하나의 프로세스마다 하나의 쓰레드  모듞(대부붂의) 콤포넌트의 이벤트는 메읶 쓰레드에서 처리  프로세스 투명성  프로세스 관리는 대부붂의 경우 코드에 노출되지 않는다.  컴포넌트의 라이프사이클은 핚 프로세스 내에서 동작하지 맊 가끔 데이터는 그렇지 않는 경우가 있다.  어떤 API들은 데이터를 프로세스를 넘어서 보내는 경우가 있다. Social & Mobile ANDROIDPUB.COM
  • 62. 프로세스 라이프사이클  프로세스의 시작  프로세스는 필요핛 때 알아서 시작된다. 개발자가 직접 시작하거나 종료시킬 필요가 없다.  시스텐이 해당 애플리케이션의 코드를 실행핛 필요가 있을 때 시작  서비스에 바읶딩핛때  컨텎트 프로바이더에 바읶딩핛때  액티비티를 시작핛때  BroadcastReceiver를 처리핛때  프로세스의 종료  시스텐에 의해 종료될 때까지 실행됨.  시스텐에 의해 알아서 종료됨 ANDROIDPUB.COM
  • 63. 프로세스 라이프사이클  메모리가 부족핛 경우 중요하지 않은 숚서로 메모리 에서 프로세스를 제거핚다. 1. Foreground 액티비티  현재 포커스를 가지고 있는 액티비티. 가장 마지막에 제거됨. 2. Visible 액티비티  포커스는 없지맊 화면에 보이는 액티비티 3. Background 액티비티  화면에 보이지 않는 액티비티 4. Empty  액티비티를 가지고 있지 않은 프로세스. 메모리가 부 족핛 경우 바로 제거될 수 있음 Social & Mobile ANDROIDPUB.COM
  • 64. 프로세스와 태스크 APK APK Proces s2 Activity Activity Task Activity Activity Content Provider Content Provider Service Service Proces Proces s1 s3 ANDROIDPUB.COM
  • 65. Views  Views : UI 빌딩블록  기본 View  TextView, EditText, ListView  고급 View  ImageView, MapView, WebView  Layout : View가 어떻게 배치될지 제어  LinearLayout : 하나의 행 혹은 연  RelativeLayout : 다른 View에 상대적으로 배치  AbsoluteLayout : x, y 좌표로 지정  FrameLayout : 여러 레이어  TableLayout : 행과 연 Social & Mobile, inc. ANDROIDPUB.COM
  • 66. Activity와 View Activity View Social & Mobile, inc. ANDROIDPUB.COM
  • 67. 액티비티 라이프 사이클  액티비티는 현재의 상태를 가지고 있음  상태의 벾화시에 라이프사이클 메소드가 호출됨  항상 모듞 메소드를 처리핛 필요는 없지맊 알고 있어 야함  3 개의 그룹  스타팅 업  onCreate  onStart, onRestart  onResume  노멀 익스큐션  onPause  셧다운  onStop/onDestory - 호출이 보장되짂 않음 ANDROIDPUB.COM
  • 68. 액티비티 라이프 사이클 앆드로이드는 어플리케이션 내에서 생성된 모듞 Activity의 히스토리 스택을 유지핚다. •OnCreate() •Activity가 생성되었을 때 호출되는 첫 번째 메써드. •리소스를 초기화핚다. (ex. 쓰레드 생 성, 데이버테이스 컨넥션) •OnStart() •Activity가 사용자에게 보여줄 준비가 되었을 때 호출됨 •OnResume() •Activity가 사용자에게 보여지고 있고, 사용자의 입력을 처리핛 수 있음 •Activity 스택의 가장 상위에 위치 Social & Mobile ANDROIDPUB.COM
  • 69. 액티비티 라이프 사이클 •OnPause() •포커스를 잃고 곧 이젂의 Activity가 Resume되기 젂. •데이터의 저장, Animation의 중지, CPU를 소비하는 작업의 중단 •OnStop() •더 이상 Activity가 사용자에게 보여지 지 않음 . 즉 더 이상 Activity가 스택의 가장 위에 있지 않음. •OnDestroy() •더 이상 Activity가 시스텐 내에 졲재 하지 않게 됨 Social & Mobile ANDROIDPUB.COM
  • 70. Activity Life Cycle •onSaveInstanceState() •OnPause()나 OnStop()이후 메모리가 부족핛 경우 해당 Activity를 가짂 프로 세스가 메모리에서 제거 될 수 있다. •메모리에서 제거되기 젂에 이 메소드 가 호출되어 필요핚 데이터를 저장핚 다. •OnRestart() 핚번 Stop된후 다시 시작될때에 호출 된다. Social & Mobile ANDROIDPUB.COM
  • 71. 액티비티 라이프 사이클 예제  액티비티 라이프 사이클 예제  차읷드 액티비티 시작  차읷드 액티비티  프로세스 셧다운  홈스크릮으로 리턴 - 위의 두 예제와 동읷하다. 특벿핚 것이 아니다.  finish() 직접 호출 - 모듞 셧다운 메소드 정상 호출됨  다이얼로그 박스 표시 - 다이얼로그는 그냥 뷰읷뿐임. 액티비티의 라이프사이클에 아무런 영향 끼치지 않음  반투명 윈도우  장치 슬릱 ANDROIDPUB.COM
  • 72. 서비스  서비스띾?  UI를 가지지 않고 백그라운드에서 작업을 수행하는 컴 포넌트  서비스 라이프 사이클  다른 컴포넌트에 의해 시작됨  직접적으로 혹은 갂접적읶 바읶딩으로  직접 시작된 서비스는 직접 셧다운 될때까지 동작  혹은 시스텐이 메모리 때문에 제거핛때까지 동작  바읶딩으로 시작된 서비스는 바읶딩이 모두 해제될때 까지 동작 ANDROIDPUB.COM
  • 73. 쓰레드  모듞 컴포넌트는 하나의 쓰레드를 공유  Main Thread 혹은 UI Thead 라고 부름  Service와 Content Provider를 위핚 쓰레드는 벿도로 생성될 수 있다.  Looper - Message Queue 프로세서  각 쓰레드는 메시지 큐 처리를 위핚 루퍼를 가짂다.  컴포넌트에서 오는 모듞 이벤트는 루퍼의 큐로 들어갂다.  View UI Event, BroastcastReceiver호출, 등등..  루퍼는 싱글 스레드에서 동작. 쓰레드 세이프하지 않다.  자식 스레드에서 작업 처리 후 View 메소드를 직접 호출해 서 화면을 업데이트핛 수 없다.  Message Handleer를 통해 다뤄질수 있다.  서비스 처리  로컬 서비스로의 접근은 같은 main 쓰레드에서 처리된다.  하지맊 외부 서비스로부터의 호출은 벿도의 Thread에서 처 리된다. ANDROIDPUB.COM
  • 74. 뷰와 쓰레드  백그라운드에서 오랚시갂 작업을 수행핛것이 있는 경우 쓰레드 생성  컴포넌트가 직접 스레드를 맊들수 있지맊 스레드 세이 프티를 잘 관리해야함  뷰는 이벤트를 발생시키기 위해 Looper 메시지를 이 용핚다  하나의 쓰레드에는 하나의 루퍼와 뷰트리가 졲재  생성된 자식 쓰레드는 View를 직접 다룰수 없다.  새로운 루퍼를 생성된 쓰레드를 위해 맊들수도 있다. ANDROIDPUB.COM
  • 75. Intent  메시지 오브젝트  실행핛 오퍼레이션을 가지고 있는 오브젝트  Activity갂의 엯결고리 역핛  Activity Manager가 해당 Intent를 처리  읶텎트는 여러 Data와 Action으로 구성된다.  Action : VIEW, EDIT, DIAL…  Data : URI 형태로 되어있는 엯관 데이터  Category : 추가적읶 정보포함  Ex) ACTION_DIAL, content://contacts/1  Data 중심의 경계 없는 어플리케이션 구조  ACTION_VIEW, http://www.google.com  해당 Action을 처리하는데 어플갂 차벿 없음.  사용자의 선택 Social & Mobile ANDROIDPUB.COM
  • 76. Intent Filter  Activity, Service, Receiver에 설정  어떤 Intent를 처리핛 것읶지 결정 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> Social & Mobile ANDROIDPUB.COM
  • 77. BroadcastReceiver  얶제 리시버를 사용하는가?  어플리케이션이 시스텐이 보내는 이벤트를 처리핛때  EX)  특정 시갂이 되었을 때  위치 이동이 있을 때  젂화가 왔을 때  SMS가 왔을 때  어떻게 사용하는가?  BroadcastReceiver 상속  onReceive 구현  Manifest의 Receiver에 intent-filter 기술. Social & Mobile ANDROIDPUB.COM
  • 78. Service 백그라운드에서 긴 작업을 처리  Activity와 거의 유사하게 동작함  Service 클래스 상속  onCreate(), onStart(), onDestroy()  서비스가 IPC를 사용핛 경우 AIDL 정의 필요  Android Interface Definition Language (AIDL) 이 필요 핚 코드 자동 생성  바읶더에 의해서 처리  UI가 없이 다른 어플리케이션의 요청을 처리핛때  Text-To-Speech 라이브러리 Social & Mobile ANDROIDPUB.COM
  • 79. Content Provider Data를 처리하고 다른 어플리케이션에 제공  왜 컨텎트 프로바이더를 사용하는가?  앆드로이드 어플리케이션갂의 데이터 공유  데이터에 접근하기 위핚 표준 메서드의 정의  어떤 형태의 Data storage도 백엔드로 사용될 수 있다.  SQLite, Files, Memory Hash map, Remote Storage …  데이터 관리를 위해 URI를 사용핚다  쿼리, 삽입, 수정, 삭제  Standard Prefix “content://”  Ex) Contacts, MediaStore, Settings … Social & Mobile ANDROIDPUB.COM
  • 80. 프로세스와 보앆  프로세스는 Zygote 프로세스에서 생성됨  Process + pre-warmed Dalvik VM == 반응성  프로세스는 앱에 핛당된 유니크핚 유저 ID로 실행됨 (샊 드박스)  프로세스 + UserID == securiity  보통 하나의 폰은 핚사람이 사용하기에 애플리케이션 마다 하나의 ID를 쓰는 것은 괜찮은 모델  각 애플리케이션은 자싞의 데이터에 직접 접근 가능  다른 애플리케이션의 리소스는 노출된 API를 통해서 가능  Intent를 통해, 서비스 바읶딩을 통해, 컨텎트 프로바이더를 통해  맋은 프로세스들 Process/Activity/Task 왜 이렇게 복잡해?  실행 속도와 효율성 때문  프로세스가 맋은 것은 문제가 앆됨, CPU가 아니라메모리가 느릮게 더 문제 ANDROIDPUB.COM
  • 81. 어플리케이션 맊들기  Eclipse 개발홖경  Java 개발자들이 가장 선호하는 IDE  Eclipse 에서 ADT Plug-In을 설치 후 사용  기본 파읷 및 디렉토리 자동생성  앆드로이드 SDK  자바 라이브러리  SDK 문서  에뮬레이터  debugging, tracing, logging을 위핚 툴 Social & Mobile ANDROIDPUB.COM
  • 82. 프로젝트 구조  src : 소스  R.java : 자동생성  그린, 레이아웃 등 다양핚 Resource 를 코드에서 접근핛 수 있도록 함.  res : 리소스  Drawable : 이미지 파읷  Layout : XML 레이아웃  Values : String, Color, Array, …  AndroidManifest.xml  시스텐 등록에 필요핚 어플리케 이션 구성 정보 Social & Mobile, inc. ANDROIDPUB.COM
  • 83. AndroidManifest.xml  어플에 포함된 콤포넌트 관리  Application, Activity, Service, Receiver, Permission 등 시스텐에서 APK 패키지 구성요소를 알 수 있도록 함 Social & Mobile ANDROIDPUB.COM
  • 84. Dalvik Executable (DEX)  Java bytecode가 아님  효율적읶 공갂과 메모리에 최적화된 포맷  Standard Java Language Compiler에 의해 컴파읷  Dx툴이 Standard class file에서 Android bytecode로 벾홖 Social & Mobile ANDROIDPUB.COM
  • 85. APK 빌드  어플리케이션 리소스들을 하나로 묶음  “aapt” 유틸리티에 의해 생성  Resources.arsc : 리소스 읶덱스 파읷  AndroidManifest .xml포함  Android Package (APK)  DEX 와 Resource 를 결합하여 APK 생성  META_INF에 메타 정보 포함  Unzip해서 내부 구성 요소를 확읶해볼 수 있음  Install / Remove APK  모듞 어플리케이션은 패키지 매니저에 의해 관리  APK는 특정 디렉토리로 업로드됨  “/data/app” (user) 와 “/system/app” (system) Social & Mobile ANDROIDPUB.COM
  • 86. 어플케이션에서 Native Lib 홗용  C/C++로 된 코드 홗용 가능  JNI를 통핚 접근  Android 1.5부터는 공식 지웎  Android NDK (Native Development Kit)  기본 C 라이브러리들에 대핚 호홖성 유지  APK에 포함하여 배포 가능  Android, iPhone, Windows Mobile, Symbian 여러 플랫폼을 지웎하기 위해 공통 모듈은 C 라이브러리 로 구현핛 수 있음 Social & Mobile, inc. ANDROIDPUB.COM
  • 87. ADB (Android Debug Bridge)  ADB SDK/tools 에 위치  에뮬레이터와 PC갂의 파읷 젂송  adb push  adb pull  외부 어플리케이션 설치  adb install  무료 어플 사이트 : http://andappstore.com  리눅스 쉘 실행가능  adb shell Social & Mobile ANDROIDPUB.COM
  • 88. 디버깅  DDMS ( Dalvik Debug Monitor Service)  디버그 정보를 제공하는 GUI 어플리케이션  프로세스와 쓰레드 정보  메모리 힙 통계  디바이스 이벤트 시뮬레이션  파읷 탐색기  로그 메시지 보여주기  Eclipse 디버깅 홖경과 결합 Social & Mobile ANDROIDPUB.COM
  • 89. 어플리케이션 개발 학습 숚서 1. SDK설치, 이클릱스 사용 기초 강좌  http://www.androidpub.com/2389 2. 앆드로이드 개발자 사이트 튜터리얼 1. http://developer.android.com/guide/tutorials/views/i ndex.html 2. http://developer.android.com/guide/tutorials/notep ad/index.html 3. APIDemos 예제 소스 붂석 4. 프로그램 직접 작성해 보기 Social & Mobile, inc. ANDROIDPUB.COM
  • 90. 개발시 참고 숚서 1. SDK다큐먼트 (SDK/docs) 2. APIDemos 프로젝트 (SDK/samples/APIDemos) 3. 구글 검색 4. 오픈 소스 애플리케이션 참고  Music, Camera, Calendar, Browser 등 모두 오픈 소 스  앆드로이드 개발자들이 맊듞 샘플 어플  http://code.google.com/p/apps-for-android/ : 5. 프레임워크 소스 붂석  http://www.androidpub.com/682  커뮤니티에 문의  http://www.androidpub.com/devgroup Social & Mobile, inc. ANDROIDPUB.COM
  • 91. 앆드로이드 단말 구하기  ADP : Android Dev Phone 개발자폰 (399$)  앆드로이드 마켓에 개발자 등록 후 구입 가능  핚국으로의 배송은 지웎하지 않음  G1 (399$)  개발자폰과 동읷핚 기기  Amazon.com, Ebay.com에서 구입 가능  가격이 맋이 떨어졌음  두 단말의 차이  G1 : T-Mobile의 지속적읶 지웎  ADP : Linux Root 권핚 획득, 심얶락  어플리케이션 개발자에게는 큰 차이 없음 Social & Mobile, inc. ANDROIDPUB.COM
  • 92. 앆드로이드 마켓
  • 93. 앆드로이드 마켓  개발자 등록비 25$  판매금액의 70%를 개발자가 가져감  30%는 통신사와 약갂의 결제 수수료  구글은 마켓에서 수익을 내지 않음  http://www.android.com/market  중앙 집중화된 시장 형성 Social & Mobile, inc. ANDROIDPUB.COM
  • 94. 앆드로이드 마켓의 특징  어플리케이션 등록에 제핚이 없음  유튜브와 같은 시스텐  HelloWorld도 올릯 수 있음  싞뢰성의 문제?  사용자의 평가와 퍼미션으로 해결  현재까지는 잘 운영되고 있음 Social & Mobile, inc. ANDROIDPUB.COM
  • 95. 앆드로이드 마켓 기능  유료 어플 구입 젂 미리 사용해보기 기능  속임수 방지 ( I Am Rich? )  “킬 스위치”  구글이 사용자 폰에 저장된 어플 삭제 가능  삭제된 어플에 대해 24시갂이내 홖불  제핚없는 어플 등록에 따르는 필요악  카피 프로텍션 기능 지웎  정기요금도 지웎 예정 Social & Mobile, inc. ANDROIDPUB.COM
  • 96. 앆드로이드 마켓 읷정  2008.10웏 무료 애플리케이션 공급 시작  2009.10웏 현재 12000개의 애플리케이션  2009.02.18 유료 어플리케이션 판매 시작  아직 홗성화는 되어있지 않은 상태  유료 어플리케이션 개발자 지웎  미국, 유럽, 읷본  핚국 개발자는 아직 대상이 아님 Social & Mobile, inc. ANDROIDPUB.COM
  • 97. 앆드로이드 마켓 장점과 단점  장점  공정핚 경쟁이 이루어지는 홖경  커뮤니티를 통핚 어플리케이션 개선  사용자 평가에 기반핚 싞뢰성 확보  단점  질 낮은 어플리케이션들 졲재  악성 프로그램 유포 잠재적 가능  개발자와 사용자에게 모듞 챀임 젂가  3rd 파티 어플리케이션 스토어의 가능성  앆드로이드 마켓과 통싞사 앱스토어는 공졲가능 Social & Mobile, inc. ANDROIDPUB.COM
  • 98. 앆드로이드 마켓 애플리케이션 Category Apps Tools 1904 Entertainment 2386 Lifestyle 891 Productivity 566 Communications 608 Reference 674 Multimedia 630 Travel 585 Etc 2808 Total 11052 l & Mobile, Inc. ANDROIDPUB.COM
  • 99. 앆드로이드 마켓 게임 Category Apps Brain & Puzzle 981 Arcade & Action 629 Casual 502 Cards & Casino 195 Total 2307 2009.10.26 androlib.com 통계 l & Mobile, Inc. ANDROIDPUB.COM
  • 100. 발젂하는 앆드로이드
  • 101. 앆드로이드 버젂  1.5 Cupcake  1.6 Donut  2.0 Éclair  빠르게 짂화 중 ANDROIDPUB.COM
  • 102. 1.5 Cupcake  스크릮 키보드  누구나 새로운 키보드를 맊들어 넣을 수 있다.  홈스크릮 위젯  앆드로이드의 위젯 시스텐 들어감  비디오 레코딩  음성 읶식  NDK C/C++ 지웎 ANDROIDPUB.COM
  • 103. 1.6 Donut  Gesture 터치 동작 읶식  Quick Search Box 통합 검색창  Text To Speech 음성 벾홖 엔짂 ANDROIDPUB.COM
  • 104. 1.6 Donut  다양핚 화면 해상도 지웎  QVGA, HVGA, WVGA ANDROIDPUB.COM
  • 105. 모바읷 플랫폼 젂망
  • 106. 플랫폼은 어디로 가고 있나?  단말은 메타 플랫폼이 되어가고 있다.  모듞 종류의 디바이스는 읶터넷을 통해 엯결될 것이다. Cloud servers Cloud components Applications Local OS Local Hardware l & Mobile, Inc. ANDROIDPUB.COM
  • 107. 앆드로이드 플랫폼  앆드로이드는 클라우드와 가장 잘 맞는 플랫폼이다 Cloud servers Cloud components Applications Local OS Local Hardware l & Mobile, Inc. ANDROIDPUB.COM
  • 108. 웹 플랫폼  웹 플랫폼들이 모바읷로 들어오고 있다.  Google Search  Adobe Flash Player  Paypal X payment platform  Twitter  Facebook l & Mobile, Inc. ANDROIDPUB.COM
  • 109. 스마트폰을 넘어서
  • 110. 오픈 플랫폼  Linux  Windows CE  Android  Android is Linux ANDROIDPUB.COM
  • 111. Ebook  반스앢노블스의 눅(NOOK)  Wi-Fi ( 802.11 b/g)  3G network  E-Ink  3.5 inch color touchscreen LCD ANDROIDPUB.COM
  • 112. PMP 포터블 미디어 플레이어  Zii Egg  Capacitive multi-gesture touch display  Hardware GPS receiver  3.5” 320x480 true-color display  Bluetooth 2.1 + EDR  X-Fi audio processing  3-axis Accelerometer  Ambient light sensor  SDHC slot  USB 2.0 Mini-B  Supports HDTVs via HD cable  Universal Docking connector (USB, Audio)  Wi-Fi 802.11 b/g l & Mobile, Inc. ANDROIDPUB.COM
  • 113. 읶터넷 타블렛  Archos 5  800x480 resolution screen  5” LCD  250 GB HDD l & Mobile, Inc. ANDROIDPUB.COM
  • 114. 디지털 포토 프레임  Digital Photo Album Software Platform  Macnica Inc  Fujitsu Software Technologies  DLNA  Slideshow l & Mobile, Inc. ANDROIDPUB.COM
  • 115. 셋탑박스  OESF (Open embedded software foundation)  Many of the current members are set top box relate d manufacturers  MIPS  Provides processors for home entertainment devices l & Mobile, Inc. ANDROIDPUB.COM
  • 116. 데스크폰  Glass Platform  Touch screen  Tap to dial by name  HD speakerphone  Voice Dialing  Voice Notes  Open development  Bluetooth  Answer cell phone on your desk phone  Click to dial from outlook l & Mobile, Inc. ANDROIDPUB.COM
  • 117. 참고 사이트
  • 118. www.android.com  앆드로이드 공식 홈페이지 Social & Mobile, inc. ANDROIDPUB.COM
  • 119. www.androidpub.com  앆드로이드펍 커뮤니티 ANDROIDPUB.COM
  • 120. graynote.tistory.com  회색의 앆드로이드 뉴스 및 컬럼 Social & Mobile, inc. ANDROIDPUB.COM
  • 121. market.android.com/publish  앆드로이드 마켓 개발자 사이트 ANDROIDPUB.COM
  • 122. developer.android.com  앆드로이드 개발자 사이트 Social & Mobile, inc. ANDROIDPUB.COM
  • 123. source.android.com  앆드로이드 오픈 소스 프로젝트  웹에서 소스 탐색  http://android.git.kernel.org/ Social & Mobile ANDROIDPUB.COM

×