Presentation is loading. Please wait.

Presentation is loading. Please wait.

안드로이드 프로젝트와 개발도구 첫째 마당 - Chapter 04 Do It! 안드로이드 앱 프로그래밍 Jun. 2013

Similar presentations


Presentation on theme: "안드로이드 프로젝트와 개발도구 첫째 마당 - Chapter 04 Do It! 안드로이드 앱 프로그래밍 Jun. 2013"— Presentation transcript:

1 안드로이드 프로젝트와 개발도구 첫째 마당 - Chapter 04 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다. ○ 본 강의 교안은 아래 출판 서적의 내용을 기준으로 구성되었습니다. 또한 다수의 기타 서적이나 사이트를 참조하였습니다. 레퍼런스를 참조하십시오. 2013, 정재곤, “Do it! 안드로이드 앱 프로그래밍(개정판)”, 이지스퍼블리싱(주) - 강의 교안에 사용된 화면 캡쳐나 실습 자료의 경우에는 문서 업데이트에 따라 변경될 수 있습니다. 이지스퍼블리싱(주) 제공 강의 교안 저자 : 정재곤

2

3 한번 만들어보긴 했지만 안드로이드 프로젝트에 대해 더 알고 싶어요.
이번 장에서는 무엇을 다룰까요? 한번 만들어보긴 했지만 안드로이드 프로젝트에 대해 더 알고 싶어요. 안드로이드 최근 버전의 주요 특징을 알아볼까요? 이클립스에서 만든 프로젝트 구성요소에 대해 알아볼까요? 애플리케이션 프레임워크에 대해 자세히 살펴볼까요? 안드로이드 개발 도구에는 어떤 것들이 있는지 알아볼까요?

4 이번 장에서는 무엇을 다룰까요? 최근 버전의 주요 특징 프로젝트의 구성 애플리케이션 프레임워크 안드로이드 개발도구 … …
프로요 버전 2.2 (테더링,플래쉬 지원) 진저브레드 버전 2.3 (NFC 지원) 허니콤 버전 3.0 (태블릿 지원) 아이스크림샌드위치 버전 4.0 (스마트폰 + 태블릿) 젤리빈 버전 4.2 (그래픽 성능 향상) 프로젝트의 구성 애플리케이션 프레임워크 안드로이드 개발도구

5 강의 주제 및 목차 안드로이드 개발을 위한 프로젝트 구성 이해 강의 주제 안드로이드 최근 버전의 주요 특징 목 차
1 안드로이드 최근 버전의 주요 특징 목 차 2 안드로이드 프로젝트의 폴더 3 애플리케이션 프레임워크 4 안드로이드 개발도구

6 첫째 마당 – CH4. 안드로이드 프로젝트와 개발도구
1. 안드로이드 최근 버전의 주요 특징

7 프로요(2.2)의 주요 변화 플래시(Flash) 지원 SD 카드에 설치 지원 백업 API 지원 푸쉬 메시지 지원
복구 푸쉬 메시지 플래시(Flash) 부분 SD카드 설치 기능 1. 안드로이드 최근 버전의 주요 특징

8 진저브레드(2.3)의 주요 변화 NFC 지원 전면 카메라 지원 자이로스코프 센서 지원 인터넷 전화 지원
움직임 SIP SIP 움직임 NFC 데이터 송수신 움직임 전면 / 후면 선택 1. 안드로이드 최근 버전의 주요 특징

9 허니콤(3.0)의 주요 변화 태블릿 UI 화면 분할 지원 HTTP 라이브 스트리밍 지원 1. 안드로이드 최근 버전의 주요 특징
이메일 목록 이메일 내용 1. 안드로이드 최근 버전의 주요 특징

10 아이스크림샌드위치(4.0)의 주요 변화 홀로그래픽 UI와 버추얼 키 얼굴인식 언락과 음성인식 텍스트 입력 NFC 빔 공유와
WiFi 다이렉트 터치 & 공유 1. 안드로이드 최근 버전의 주요 특징

11 젤리빈(4.2)의 주요 변화 그래픽 성능 향상 확장 가능한 알림 메시지 위젯과 네트워킹 기능 강화
1. 안드로이드 최근 버전의 주요 특징

12 첫째 마당 – CH4. 안드로이드 프로젝트와 개발도구
2. 안드로이드 프로젝트의 폴더

13 프로젝트의 폴더 폴 더 설 명 /src /Android <version> /res /gen /assets
- 자바 소스 파일이 들어있는 폴더 - 표준 자바와 마찬가지로 패키지명과 동일한 하위 폴더들이 만들어짐 /Android <version> - 이 프로젝트를 빌드할 때 타깃(Target)으로 지정한 플랫폼의 기본 라이브러리가 들어있는 폴더 (예, /Android 4.2.2) - jar 파일이 들어 있음 /res - 리소스 파일이 들어있는 폴더 - XML 레이아웃, 그림 파일, 문자열을 정의한 XML 파일 등이 들어있는데 각 파일의 유형에 따른 하위 폴더들이 만들어져 있음 (예, XML 레이아웃 파일은 [res/layout] 폴더, 그림 파일은 [/res/drawable] 폴더 그리고 문자열을 정의한 XML 파일은 [/res/values] 폴더 밑에 들어 있음) /gen - ADT가 자동으로 만들어 내는 소스 파일이 들어가는 폴더 - 이 파일은 프로그래머가 만드는 것이 아니므로 건드리면 안 됨 - 이 폴더 안에는 자바 패키지에 해당하는 하위 폴더와 함께 R.java 파일이 자동으로 만들어짐 /assets - 이 폴더는 처음에 비어 있음 - 이 폴더에 넣어서 처리하는 파일들을 저장함 (예, 동영상 파일) AndroidManifest.xml - 애플리케이션에 대한 정보를 담고 있는 파일 - 매니페스트라고 부르며 애플리케이션 구성요소나 권한 등의 정보를 정의함 default.properties - 프로젝트 설정과 관련된 속성이 들어있는 파일 (예, 빌드 타겟(Target)) 2. 안드로이드 프로젝트의 폴더

14 프로젝트 빌드 과정 2. 안드로이드 프로젝트의 폴더

15 프로젝트 빌드 과정 상세 2. 안드로이드 프로젝트의 폴더

16 첫째 마당 – CH4. 안드로이드 프로젝트와 개발도구
3. 애플리케이션 프레임워크

17 안드로이드에 대한 기술적 접근 • 안드로이드는 리눅스가 아니다. 리눅스 커널을 사용하지만, 네이티브 윈도우 시스템이 없으며, Glibc를 지원하지 않으며, GNU/리눅스 유틸리티들이 없다. • 안드로이드는 운영체제, 미들웨어 그리고 핵심 애플리케이션을 포함하는 모바일 단말용 소프트웨어 스택(Stack) • 안드로이드는 리눅스 커널 위에서 동작하는 자바 기반의 애플리케이션 프레임워크 • 안드로이드 SDK는 안드로이드 플랫폼 상에서 자바 언어로 애플리케이션을 개발하고자 할 때 필요한 도구와 API의 집합 3. 애플리케이션 프레임워크

18 API의 대표 패키지들 • 자바 SDK의 많은 부분이 그대로 지원되므로 기존 개발자들과 친숙함
• 안드로이드만의 라이브러리들이 기본 프레임워크와 휴대단말용 기능들을 제공함 3. 애플리케이션 프레임워크

19 안드로이드 아키텍쳐 아키텍쳐는 커널  라이브러리  애플리케이션 프레임워크  애플리케이션으로 구성
3. 애플리케이션 프레임워크

20 리눅스 커널 • 안드로이드는 리눅스 커널 위에 만들어졌지만 안드로이드가 리눅스는 아님
• 핵심적인 시스템 서비스들을 제공하며, 프로세스, 메모리, 전원 관리, 네트워크, 드라이버, 보안 등의 내용을 포함 • 표준 리눅스 도구(utilities)를 모두 제공하지 않음 • 안드로이드 커널도 공개되어 있음 3. 애플리케이션 프레임워크

21 라이브러리와 달빅 VM • 라이브러리 • 코어 라이브러리 • 달빅 VM
C/C++ 로 구성된 라이브러리로 애플리케이션 프레임워크를 통해 사용할 수 있도록 구성됨 • 코어 라이브러리 코어 라이브러리는 자바 라이브러리의 대부분 기능을 제공 • 달빅 VM 달빅 VM의 실행 파일은 최소한의 메모리에 최적화된 DEX(Dalvik EXecute) 포맷을 사용하며 안드로이드 애플리케이션은 독립적 프로세스를 할당 받음 3. 애플리케이션 프레임워크

22 달빅 VM • 안드로이드 애플리케이션을 위한 실행 환경 제공 • 레지스터 기반의 버추얼 머신
달빅 VM은 디바이스가 여러 개의 VM을 효율적으로 실행할 수 있도록 구성되어 있음 • 레지스터 기반의 버추얼 머신 • 달빅 실행 포맷(.dex)의 실행 .dex 포맷은 최소한의 메모리만을 사용할 수 있도록 최적화되어 있음 컴파일 시에 생성됨 • 리눅스 커널의 기능에 의존하는 부분 스레드 처리와 낮은 수준의 메모리 관리 .java .class .dex javac dx 3. 애플리케이션 프레임워크

23 애플리케이션 프레임워크 • 안드로이드에서 제공하는 애플리케이션도 애플리케이션 프레임워크의 API에 기반한 경우 많음
• 간단한 재사용 컴포넌트, 어떤 애플리케이션과도 호환 가능한 호환성을 제공 • 액티비티 관리자 (Activity Manager) - 애플리케이션의 라이프사이클을 제어함 • 내용 제공자 (Content Provider) - 애플리케이션 간에 데이터를 공유할 수 있도록 함 • 리소스 관리자 (Resource Manager) - 코드 이외의 부분인 리소스를 관리함 • 위치 관리자 (Location Manager) - 자신의 위치 파악에 필요한 기능을 제공함 • 알림 관리자 (Notification Manager) - 알림 기능을 사용자에게 방해가 되지 않도록 제공함 3. 애플리케이션 프레임워크

24 애플리케이션 • 모든 애플리케이션은 자바로 작성되며 애플리케이션 프레임워크의 API를 사용할 수 있음
• 안드로이드의 핵심 애플리케이션들은 이메일 클라이언트, SMS 프로그램, 일정 관리(calendar), 지도 처리(maps), 웹브라우저, 연락처 등을 포함함 3. 애플리케이션 프레임워크

25 첫째 마당 – CH4. 안드로이드 프로젝트와 개발도구
안드로이드 개발도구

26 SDK에 포함된 개발도구 SDK 설치 폴더에는 샘플과 개발도구가 들어 있음 4. 안드로이드 개발도구

27 UI 뷰어 (UI Automator Viewer)
개발 도구 개요 UI 뷰어 (UI Automator Viewer) 개발자들이 사용자 인터페이스 구성을 확인하고 최적화할 수 있도록 지원 사용자 인터페이스를 구성하는 뷰들 간의 계층도를 눈으로 보고 확인할 수 있도록 보여줌 4. 안드로이드 개발도구

28 디버그 브리지 (Android Debug Bridge)
개발 도구 개요 디버그 브리지 (Android Debug Bridge) 도스창에서 명령어를 통해 에뮬레이터나 실제 단말에 안드로이드 패키지 파일(.apk) 설치 (이클립스에서는 이 과정을 메뉴를 통해 실행할 수 있도록 해 주는 것임) 에뮬레이터나 실제 단말에서 실행되고 있는 애플리케이션에 표준 디버거를 연결 (에뮬레이터를 실행하면 이클립스와 에뮬레이터가 ADB를 통해 연결되는 것임) 4. 안드로이드 개발도구

29 나인패치 그리기 도구 (Draw 9 Patch)
개발 도구 개요 나인패치 그리기 도구 (Draw 9 Patch) NinePatch 이미지를 간단하게 만들 수 있는 그래픽 편집기 NinePatch 이미지란 뷰의 배경이나 다른 이미지를 위해 사용할 수 있는 크기 조정이 가능한 비트맵 리소스 4. 안드로이드 개발도구

30 개발 도구 개요 디버그 모니터 서비스 (DDMS)
개발자들이 에뮬레이터나 실제 단말의 프로세스를 관리하고 디버깅할 수 있도록 도와주는 도구 기능 - 프로세스 강제 종료 - 디버깅 대상 프로세스의 선택 - 트레이스(trace) 데이터 생성 - 힙(heap)과 스레드(thread) 정보 보기 - 에뮬레이터나 실제 단말의 스크린 캡쳐 4. 안드로이드 개발도구

31 단말의 SD카드로 파일 옮기기 4. 안드로이드 개발도구 File Explorer 탭 선택 파일 가져오기/내보내기
DDMS 화면 열기 4. 안드로이드 개발도구

32 에뮬레이터 단축키 4. 안드로이드 개발도구 키보드의 키 기능 Esc 단말의 BACK 버튼과 동일 Home
F2, PageUp 단말의 MENU(Soft-Left) 버튼 Shift-F2, PageDown Star(Soft-Right) 버튼 F3 전화걸기 F4 전화끊기 F5 검색 F7 전원 Ctrl-F3, Ctrl-KEYPAD_5 카메라 Ctrl-F5, Ctrl-KEYPAD_PLUS 소리 크게 Ctrl-F6, Ctrl-KEYPAD_MINUS 소리 작게 키보드의 키 기능 KEYPAD_5 DPad Center (가운데 버튼) KEYPAD_4 DPad Left (왼쪽 버튼) KEYPAD_6 DPad Right (오른쪽 버튼) KEYPAD_8 DPad Up (위쪽 버튼) KEYPAD_2 DPad Down (아래쪽 버튼) F8 3G/LTE 네트워크 On/Off F9 코드 프로파일링 설정 Alt-ENTER 전체화면 모드 전환 Ctrl-T 트랙볼 모드 전환 Ctrl-F11, KEYPAD_7 이전 레이아웃으로 이동 Ctrl-F11, KEYPAD_9 다음 레이아웃으로 이동 4. 안드로이드 개발도구

33 참고 문헌 [ References] References 기본 서적
2013, 정재곤, “Do it! 안드로이드 앱 프로그래밍(개정판)”, 이지스퍼블리싱(주) Android Website Google Developer’s Conference Android SDK Documentation References


Download ppt "안드로이드 프로젝트와 개발도구 첫째 마당 - Chapter 04 Do It! 안드로이드 앱 프로그래밍 Jun. 2013"

Similar presentations


Ads by Google