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

Slides:



Advertisements
Similar presentations
CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
Advertisements

옴니아 2 무선 인증 매뉴얼 ( 윈도우 모바일 폰 설정 동일 ). ▶다음 화면은 옴니아 2 및 윈도우모바일을 사용하는 스마트폰 기기들의 무선인증을 하기 위한 화면입니다. ▶윈도우 모바일폰의 경우 무선인증서를 발급받기 위해 폰의 레지스트리 설정을 조정해 주어야 합니다.
스마트폰 화면에서 안드로이드 마켓을 클릭하여 접속합니다. [그림 1-1] 안드로이드 전용 어플리케이션 설치 방법 1. 굿바이 학교폭력 Mobile App 설치 안드로이드폰 설치 방법 마켓에서 검색 아이콘을 클릭 하여 검색창을 활성화 합니다. 굿바이 학교폭력 어플명을 입력.
발 표 일 : 발 표 자 : 07 김 동 희 안드로이드를 이용한 앱 개발.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
Do It! 안드로이드 앱 프로그래밍 Jun 안드로이드 개요 첫째 마당 - Chapter 01 이지스퍼블리싱 ( 주 ) 제공 강의 교안 저자 : 정재곤.
ReadyNAS Surveillance for x86 platform (Version ) NETGEAR.
해외전자정보서비스이용교육 EBSCO eBook (NetLibrary)
EBSCO eBooks 이용 방법 및 다운로드 (대출모드) 안내
앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
2016 유성환 Hybrid MOBILE.
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
A n d r o i d Android 2010년 5월 19일 동서대학교 백선재
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
그림으로 쉽게 설명하는 안드로이드 프로그래밍
2. 앱 개발환경 구축 Step by Step 안드로이드 프로그래밍 쉽게 시작하는 안드로이드 4.4 앱 개발.
Linux/UNIX Programming
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
첫 번째 애플리케이션 첫째 마당 - Chapter 03 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
02. 처음으로 만드는 안드로이드 응용 프로그램 제목. 02. 처음으로 만드는 안드로이드 응용 프로그램 제목.
Power Java 제2장 자바 개발 도구.
CHAP 24. nfc와 앱위젯.
운영체제 박상민.
3주차 Android Application ANDROID App..
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Java 기초 (Java JDK 설치 및 환경설정)
강 명 수 LINUX 설치 강 명 수
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
CHAP 12. 리소스와 보안.
(인터페이스 상세 이용 방법 및 다운로드 (대출모드) 안내)
2장. JSP 프로그래밍을 위한 환경구성 제2장.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제목소개 1. 안드로이드소개 2. 패킷캡쳐를 위한 환경 소개 3. ndk 소개 4. lipcap 5. 6.도식화 그림
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
13차시_스마트 애플리케이션 기획 스마트 미디어의 사용환경과 사용자의 특성.
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
Linux/UNIX Programming
네트워크 프로그래밍 (모바일 주문 프로그램 )
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Installation Guide.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CHAP 15. 데이터 스토리지.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

프로젝트의 폴더 폴 더 설 명 /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. 안드로이드 프로젝트의 폴더

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

에뮬레이터 단축키 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. 안드로이드 개발도구

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