2009년 상반기 사업계획

Similar documents
Setting up Android Development Environment

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

4S 1차년도 평가 발표자료

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

JDK이클립스

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

슬라이드 1

PowerPoint Template

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - chap01-C언어개요.pptx

학습내용 1. SDK, JDK, 이클립스, AVD의개념 2. 프로그래밍환경수립및설정 3. 예제프로그램수행방법 4. 액티비티생명주기

슬라이드 1

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

슬라이드 1

2009년 상반기 사업계획

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

JAVA 플랫폼 개발 환경 구축 및 활용

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

( )부록

슬라이드 1

Microsoft Word - 안드로이드_개발_매뉴얼1.docx

슬라이드 1

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Install stm32cubemx and st-link utility

Chapter 1

슬라이드 1

PowerPoint Template

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

01장

Microsoft Word - src.doc

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft PowerPoint App Fundamentals[Part1].pptx

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

쉽게 풀어쓴 C 프로그래밍

CODESYS 런타임 설치과정

Studuino소프트웨어 설치

untitled

SIGIL 완벽입문

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

파워포인트

IRISCard Anywhere 5

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

슬라이드 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

슬라이드 1

Microsoft Word - CooCox

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

슬라이드 1

vRealize Automation용 VMware Remote Console - VMware

윈도 모바일 6.1을 OS로 사용하는 스마트폰(옴니아2 등)에서의 Tcl/Tk의 사용

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

tiawPlot ac 사용방법

Microsoft Word - Armjtag_문서1.doc

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

1부

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

PowerPoint Template

ICAS CADWorx SPLM License 평가판설치가이드

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

에접속하여상단메뉴에서 [DOWNLOADS] 를클릭한다. 다운로드페이지에서 Java 카테고리에있는 [Java SE] 를클릭하고페이지가바뀌면 [Java Platform (JDK)] 를클릭한다. JDK 버전은다운로드하는시점에따라다를수

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

SBR-100S User Manual

Google Maps Android API v2

Cubase AI installation guide

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

Spring Boot

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

PowerPoint 프레젠테이션

Secure Programming Lecture1 : Introduction

<C0CCC5ACB8B3BDBA5FBEC8B5E5B7CEC0CCB5E55FB0B3B9DFC8AFB0E6B1B8C3E0C7CFB1E25F E342E302E687770>

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

슬라이드 1

PowerPoint 프레젠테이션

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

PowerPoint Template

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

Microsoft PowerPoint - Java7.pptx

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

서현수

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

슬라이드 제목 없음

gnu-lee-oop-kor-lec06-3-chap7

Transcription:

안드로이드소개

2/56 Contents 학습목표 모바일운영체제의일반적인특징과새롭게등장한안드로이드의주요특징및전체적인아키텍처를알아본다. 안드로이드학습을위한개발환경을설치하고원활한실습을위한환경설정방법을알아본다. 내용 모바일개발 안드로이드학습가이드 개발환경구축

3/56 1. 모바일개발 모바일환경 모바일, 디지털생활의중심 기존핸드폰과의차이 ( 스마트폰 vs 핸드폰 ) 기존의핸드폰은통화기능만제공함. 스마트폰은 MP3, 동영상감상, DMB, 카메라, GPS 등의첨단기능을제공함.

4/56 1. 모바일개발 모바일환경 모바일의발달배경 작은부피로도많은데이터의저장이가능한메모리. 프로세서파워의향상. 배터리효율의향상. 모바일운영체제 ( 노말폰 vs 스마트폰 ) 모바일운영체제 모바일에서실행되는운영체제. 모바일하드웨어자원을직접제어하고관리하는시스템소프트웨어. 데스크톱운영체제에비해부피가작고상대적으로쉽게개발가능함. 노말폰 (Nomal Phone) 의특징 별도의운영체제가없고통화기능만제공. 제조사에서미리설치해놓은프로그램만사용가능. 제한적인기능만제공. 잔고장이없으나소프트웨어추가설치가거의불가.

5/56 1. 모바일개발 모바일운영체제 ( 노말폰 vs 스마트폰 ) 스마트폰의특징 필요에따라프로그램의추가설치가능. 폰에별도의운영체제가필요. 다양한기능제공. 잔고장이많지만소프트웨어추가설치가가능. 모바일운영체제의종류 Palm RIM 윈도우모바일 심비안 iphone OS

6/56 1. 모바일개발 모바일운영체제 ( 노말폰 vs 스마트폰 ) 2009 년 2 분기에조사된모바일운영체제점유율 심비안이과반이상의점유율을차지하고있지만점점쇠퇴해가고있는중이라앞으로는크게영향력을행사하지못할것임. 모바일운영체제들은구조가완전히달라프로그램끼리서로호환되지않으며, 고유한장단점을가지고있음.

7/56 1. 모바일개발 안드로이드의 History 개발 2005 년 7 월, 개발시작 2007 년 11 월, 안드로이드첫버전릴리즈 2008 년 10 월, 최초의상용안드로이드폰출시 (HTC 사의 G1) 정식버전이발표된지 3 년이되지않은젊은운영체제 안드로이드 SKD 구글이 2008 년부터 SDK 와문서를배포하고주지적으로업그레이드하고있음.

8/56 1. 모바일개발 안드로이드의등장 안드로이드는새로등장한모바일운영체제 개발주체는 OHA(Open Handset Alliance) 컨소시엄으로되어있지만, 실질적인리더는인터넷검색업체인구글 (Google) 임 안드로이드운영체제의특징 비독점개방플랫폼을지향 개방플랫폼 vs 비개방플랫폼 [ 개방플랫폼 ] 라이선스비용이없음. 개발이자유로움. 개발툴들의성능이낮고문제발생시, 기술지원을받을수없음. [ 비개방플랫폼 ] 라이선스비용지불. 개발환경이잘구축되어있음. 문제발생시, 기술지원이가능.

9/56 1. 모바일개발 안드로이드의특징 운영체제의핵심이라고할수있는커널은공개운영체제인리눅스에기반한다. 안드로이드개발에공식적으로자바언어를사용한다. 검증된많은라이브러리들을대거포함하고있어웬만한기능은별도의외부라이브러리를사용할필요가없다. 플랫폼에내장된빌트인프로그램과사용자가만든프로그램이동일한 API 를사용하므로모든프로그램은평등하다. 개방된환경인만큼개발툴과관련문서들이모두무료로제공된다. 안드로이드의단점 오래되지않은만큼숙련된개발자가많지않으며, 관련자료도부족하다. 공식문서가아직완비되지않은상태다. SDK 도너무자주업그레이드되어안정적이지못하며개발툴의사소한버그들도상당히많은편이다.

10/56 1. 모바일개발 안드로이드의아키텍처 효율적이고안정적인자원관리를위해계층을구성하였다. 하위에서는저수준지원요소들이있고상위로올라갈수록응용요소들이있다. 추상화와보안을위한인접한계층끼리만통신할수있다. 5 4 2 3 1 안드로이드아키텍처

11/56 1. 모바일개발 안드로이드의아키텍처 1 : 리눅스커널 백그라운드스레드, 메모리관리, 보안, 디바이스드라이버등의저수준관리기능을담당함. 디바이스드라이버의지원이광범위함. 2 : 라이브러리 라이브러리는장비의전반적인속도를결정하는중요한요소임. 공직언어인자바가아니라 C로작성되어있음. 안드로이드라이브러리종류 BSD 파생 libc 라이브러리 2D 그래픽을위한서피스관리자및 SGL 3D 그래픽을위한 OpenGL 벡터폰트출력을위한 FreeType 오디오, 비디오재생을위한미디어지원 데이터베이스지원을위한 SQLite 인터넷브라우징을위한 SSL과크롬, 사파리에채용된 WebKit

12/56 1. 모바일개발 안드로이드의아키텍처 3 : 런타임 달빅가상머신과자바코어라이브러리로구성되어있음. 안드로이드는자바가상머신을직접사용하지않으며모바일환경에최적화한달빅 (Dalvik) 가상머신을사용함. 각프로세스별로별도의달빅가상머신이할당되므로안정성이높고메모리사용량을줄여복수개의가상머신도효율적으로동작하도록설계되었음. 4 : 프레임워크 안드로이드의 API. 응용프로그램들은하위의커널이나시스템라이브러리를직접적으로호출할수없으며 API 를통해서기능을요청해야함. API 는하드웨어액세스를추상화하며 UI 제작에필요한위젯을정의하고시스템라이브러리와통신할수있는래퍼를제고함. 5 : 응용프로그램 인터넷브라우저, 바탕화면, 주소록등플랫폼과함께설치되는애플릿들은물론이고마켓에서다운받아설치하는게임, 유틸리티등도모두이수준에서실행됨.

13/56 1. 모바일개발 안드로이드실행 안드로이드실행파일은전통적인실행파일과다름 전통적인실행파일 실행파일에는프로그램을구성하는코드와데이터가들어있음. 실행파일이메모리상으로올라와실행을시작하면프로세스가됨. 실행파일과프로세스가 1:1로대응되며응용프로그램끼리는서로독립적임. 안드로이드의실행파일 실행파일은같은패키지에속한자바클래스와리소스의집합일뿐이며프로세스와반드시대등되지않음. 응용프로그램끼리서로의기능을공유할수있음. 다른프로그램의구성요소를불러와같은주소공간에서실행할수있음. ( 윈도우의 COM 이나 OMG 의 CORBA 등과개념적으로유사함 ) 안드로이드응용프로그램은적절한권한만있으면누구든지인스턴스화할수있는 4 개의컴포넌트로구성됨. main 같은유일한진입점이따로

14/56 1. 모바일개발 안드로이드실행 안드로이드의응용프로그램 안드로이드응용프로그램은적절한권한만있으면누구든지인스턴스화할수있는 4 개의컴포넌트로구성된다. main 같은유일한진입점이따로없으며처음으로생성되는인스턴스의생성자가실직적인진입점이된다. 인스턴화할수있는 4 개의컴포넌트 : 액티비티, 서비스, 방송수신자, 콘텐트제공자 [ 액티비티 ] 사용자인터페이스를구성하는기본단위다. 눈에보이는화면하나가액티비티이며여러개의뷰들로구성된다. 응용프로그램은필요한만큼의액티비티를가질수있으며그중어떤것을먼저띄울지를지정한다. [ 서비스 ] UI 가없어사용자눈에직접적으로보이지않으며백그라운드에서무한히실행되는컴포넌트다. 전형적인예로미디어플레이어를들수있는데비활성화된상태라도노래는계속재생되어야한다. UI 가없으므로사용자의명령을받아들일수있는액티비티와연결해서사용된다.

15/56 1. 모바일개발 인스턴화할수있는 4 개의컴포넌트 [ 방송수신자 (Broadcast Receiver) ] 시스템으로부터전달되는방송을대기하고신호전달시수신하는역할을한다. 예를들어배터리가떨어졌다거나사진을찍었다거나네트워크전송이완료되었다는등의신호를받는다. 신호만대기할뿐 UI 를따로가지지는않으므로방송수신시방송의의미를해석하고적절한액티비티를띄우는역할을한다. [ 콘텐트제공자 (Content Provider)] 다른응용프로그램을위해자신의데이터를제공한다. 안드로이드는보안이엄격하여다른응용프로그램의데이터를함부로액세스하지못하도록되어있다. 응용프로그램간에데이터를공유할수있는합법적인유일한장치가바로콘텐트제공자다. 응용프로그램은액티비티, 서비스, 방송수신자, 콘텐트제공자중일부만을가질수도있고여러개를가질수도있다.

16/56 2. 안드로이드학습가이드 안드로이드학습 모바일환경은일반데스크톱환경에비해많은제약사항이존재하므로모바일플랫폼과모바일환경자체에대해서도어느정도의상식이있어야한다. 안드로이드개발을위한선수과목 자바 안드로이드의 SDK 가자바로제공되며기본언어가자바이므로자바언어에대한문법적이해가필수적이다. XML 문서 안드로이드는레이아웃배치와리소스정의, 응용프로그램설정구성등에 XML 문서를광범위하게사용한다. 이클립스 공식개발툴인이클립스의사용법도잘알아야한다.

17/56 2. 안드로이드학습가이드 안드로이드학습준비 안드로이드가리눅스커널에기반을두지만리눅스를잘몰라도상관없다. 윈도우환경에서학습및개발을한다면리눅스를직접다룰필요는없다. 학습을위해하드웨어를따로준비할필요는없고컴퓨터만있으면된다. 에뮬레이터가잘구비되어있으므로폰을따로준비하지않아도된다. 풍부한모바일사용경험. 모바일사용경험이풍부해야사용자를배려하느좋은프로그램을만들수있다. 안드로이드자체의난이도가높지는않지만플랫폼자체에대한경험은상당히중요하다.

18/56 안드로이드개발환경의특징 통합된개발환경을한회사에서주도적으로만든것이아니어서이것저것설치해야하고순서도잘지켜야한다. 사용할버전이나운영체제에따라약간씩달라지는부분이있고사소한버그도있어충분한주의를기울여야한다. 안드로이드개발관련프로그램설치순서 JDK 1.6 업데이트 18 이클립스 3.5 ADT 플러그인 안드로이드 S 아 2.1 AVD 생성및옵션조정 JDK 설치 안드로이드의기본개발언어가자바이므로 JDK 를먼저설치한다. JDK 에 JRE 가포함되어있으므로 JRE 만따로설치할필요는없다. JDK 는사용목적에따라 SE(Standard Edition), EE(Enterprise Edition), ME(Mobile Edition) 등세가지로제공되는데안드로이드개발에는 SE 나 EE 를사용한다.

19/56 JDK 설치 JDK 는가급적최신버전으로설치한다. JDK 는 Sun 사이트에서구할수있다. (java.sun.com)

20/56 JDK 설치 다운받은설치파일을실행하면라이선스, 동의창이나타나고설치할기능을묻는다. 디폴트로전부선택되어있으며목록의아이콘을클릭해제외시킬수있지만웬만하면다설치하는것이좋다. 설치경로는디폴트인 Program Files 로하고 [Next] 버튼을눌러설치를시작한다. 설치완료대화상자에서 [Finish] 버튼을누르면설치가종료된다.

21/56 JDK 설치확인 설치확인코드 Hello.java class Hello { public static void main(string args[]) { System.out.println("First Java Program"); } } Hello.java 파일을 bin 폴더에저장후, 명령행에서다음과같이컴파일및실행한다. 명령행에문자열이출력되면 JDK 가제대로설치된것이다.

22/56 이클립스 안드로이드응용프로그램개발에는주로이클립스를사용한다. 이클립스는통합개발환경을제공한다. 이클립스다운 (www.eclipse.org) 클릭

23/56 이클립스 홈페이지상단메뉴의 Downloads 를클릭하면이클립스의여러가지버전을다운받을수있는링크들이나타난다. 이클립스는유로파 (3.3.x), 가니메데 (3.4.x), 갈릴레오 (3.5.x) 식으로목성의위성이름을붙여릴리즈하며언어나플랫폼에따라여러가지버전이제공되는데안드로이드개발용으로는클래식버전이나엔터프라이즈버전이적합하다. Eclipse IDE for Java EE Developer 오른쪽의 Windows 32bit 링크를눌러윈도우버전을다운받는다. eclipse-jee-galileo-sr1-win32.zip(189m) 압축파일안에 eclipse 폴더가있는데이폴더를 C:\Program Files 폴더에압축을푼다. 물론시스템상황에따라다른폴더에압축을풀어도상관없다. eclipse 폴더안의 eclipse.exe 가주실행파일이다. JRE 만제대로설치되어있다면별문제없이실행된다.

24/56 이클립스 최초실행시, 워크스페이스를물어본다. 이후 C:\AndroidExam 폴더아래에실습프로젝트를생성할것이다. 실무를할때는이클립스메뉴의 [File-Switch workspace] 명령으로워크스페이스를언제든지변경할수있다.

25/56 이클립스 [workbench] 를클릭하면개발환경으로들어간다.

26/56 이클립스테스트 [File-New-Project...] 명령을실한한다.

27/56 이클립스테스트 마법사선택대화상자에서 [Java-Java Project] 를선택하면새프로젝트를만드는대화상자나나타난다. 프로젝트이름에 FirstEclipse 를입력하고나머지옵션은디폴트로한다.

28/56 이클립스테스트 ( 참고 ) 사용중인이클립스버전에따라다음과같은대화상자가나타날수도있다. 자바프로젝트는 Java 퍼스펙티브가접합하므로변경하겠느냐는질문이다. 디버그모드로진입할때도동일한질문을하는데메시지를잘읽어보고 [Yes] 버튼을클릭한다.

29/56 이클립스테스트 소소파일추가 메뉴에서 [File-New-Class] 명령을선택하고 Name 란에프로젝트명과똑같은이름을설정한다. 주소스는 main 메서드도같이생성해야하므로 public static void main(string[] args) 옵션을선택한다.

30/56 소소파일추가 main 메소드안쪽에다음코드를작성한다. ( 문자열을출력하는간단한출력문이다.) 소스컴파일 [File-Save( + )] 명령을선택하면소스가저장되면서자동으로컴파일된다. 이클립스의디폴트옵션이 저장시컴파일 로되어있어서저장만하면컴파일된다. 소스에오타가있다면아래쪽의 Problems 창에에러가발생한곳과에러원인이출력되는데수정후다시저장하면된다. 에러가없으면 Problems 에아무것도나타나지않으며 0 items 라고표시된다.

31/56 소소파일실행 저장및컴파일되었으면 [Run-Run( + )] 명령으로실행한다. 명령창이따로열리지않고아래쪽의 Console 창에실행결과가나타난다. 문자열이출력되면모든것이정상적으로잘설치된것이다. 프로젝트폴더의구조 프로젝트폴더의구조는아주단순하다. src 폴더에소스파일이저장되고 bin 폴더에컴파일된실행파일이저장되며프로젝트루트폴더에는두개의설정파일이생성된다.

32/56 플러그인 플러그인은이클립스와안드로이드를연결하는설정이다. 이클립스는플러그인이라는장치를통해임의의플랫폼에대한개발툴을추가설치할수있도록지원하며구글은이클립스에플러그인되는안드로이드개발킷을제공한다. 안드로이드개발킷을 ADT(Android Development Tool) 라한다. ADT 패킷 안드로이드프로젝트생성마법사 XML 레이아웃편집기 패키지제작툴 이클립스에통합된 D 은 이클립스의 [Help-Install New Software] 명령을선택하면업데 이트대화상자가나타난다. 업데이트대화상자

33/56 플러그인 대화상자에서 [Add] 버튼을누르고 ADT 가있는위치를가르쳐준다. ADT 는 https://dl-ssl.google.com/android/eclipse/ 사이트를통해배포된다. 접속프로토콜이보안이적용된 https 이다. 네트워크상황에따라방화벽이나보안문제로인해접속이안되는경우가종종있는데이경우 https 를 http 로바꿔주면된다.

34/56 플러그인 접속사이트에서제공하는플러그인의목록이표시되는데중앙의목록에 Developer Tools 라는항목이나타난다. ADT 와 DDMS 두개의플러그인이포함되어있는데루트의 Developer Tools 항목을클릭해전체선택하고 [Next] 버튼을누르면이클립스가이소프트웨어를다운받고설치까지자동으로수행한다.

플러그인 플러그인설치 운영체제에따라서명이누락된소프트웨어라는보안경고가뜨는경우도있는데무시해도상 관없다. ADT 설치가완료되면이클립스를재시작하라는메시지박스가나타난다. 새로추가된기능에의해이클립스의기능이완전히바뀔수있으므로가급적이면재시작하는것이좋다. 이클립스가자동종료되었다가재시작되면 ADT 설치가완료된것이다. 35/56

36/56 안드로이드 SDK SDK(Software Development Kit) 특정한소프트웨어꾸러미, 소프트웨어프레임워크, 하드웨어플랫폼, 컴퓨터시스템, 게임기, 운영체제등을위한응용프로그램을만들수있게하는개발도구의집합이다. 안드로이드를위한 SDK 안드로이드개발라이브러리, 도움말문서, 개발보조툴등을포함하므로용량이방대하다. 개발목적에따라필요한 SDK 목록이틀리고업데이트빈도가잦기때문에꼭필요한부분만선택적으로설치및업데이트할수있도록되어있다. 개발에필요한파일은 SDK 를통해배포되며 ADT 는이클립스와 SDK 를연결해주기만한다. 안드로이드 SDK 사이트 http://developer.android.com

37/56 안드로이드 SDK 안드로이드 SDK 설치 안드로이드 SDK 사이트 http://developer.android.com 윈도우용, 매킨토시용, 리눅스용 SDK 가각각제공되는데윈도우환경에서실습을진행하므로윈도우용을다운받는다. android-sdk-windows-r04.zip(22m)

38/56 안드로이드 SDK 설치 라이브러리와문서들로구성되어있으므로따로설치할필요는없고압축만풀어두면된다. 아무곳에나풀어도상관없지만 Program Files 폴더안에두도록하자. SDK 설정 ADT 에게 SDK 가어디에있는지위치를설정한다. 이클립트의 [Window-Preference] 메뉴를선택하고왼쪽메뉴에서 Android 를클릭한후 SDK 폴더의위치를지정한다. 앞에서다운받아압축을풀어둔폴더를지정해주면된다. 단순한디렉토리에불과하므로여러개의 SDK 를설치해놓고번갈아가며사용하는것도가능하며워크스페이스별로각각다른버전의 SDK 를사용할수도있다.

안드로이드 SDK 추가설치 SDK 의위치를지정했다면다음은추가로더필요한 SDK 요소들을다운받는다. 이클립스의메뉴에서 [Window-Android SDK and AVD Manager] 명령을선택하면다음대화상자가열린다. Available Packages 탭에는설치가능한목록들이나열되는데이전버전의 SDK 도모두같이설치할수있다. 최신버전만설치하는것도가능하지만이전버전으로작성된예제들도있으므로하드디스크공간이부족하지않다면모두설치하는것이좋다. 39/56

40/56 안드로이드 SDK 안드로이드 SDK 설치파일 : 문서, 샘플, 개발툴 문서 docs 폴더에는안드로이드개발관련문서들이제공된다. HTML 포맷이므로웹브라우저를통해읽을수있다. 샘플 platforms 폴더안에많지는않지만몇가지샘플프로젝트가제공된다. 각버전별로디렉토리가구성되어있으며버전이높을수록예제의개수도늘어난다. 예제를통해안드로이드의기능을둘러볼수있으며기본적인코딩기법을배울수있다. 개발툴 tools 폴더에는컴파일러, 디버거, 에뮬레이터등개발에꼭필요한프로그램들이제공된다. 대부분명령행에서동작하는것들인데다행히이클립스가적절한때호출해주므로직접적으로사용해야하는것은별로없다.

41/56 AVD 생성 모바일개발을할때는통상에뮬레이터에서테스트를수행하는데안드로이드폰에뮬레이터를 AVD(Android Virtual Device) 라고부른다. AVD 는소프트웨어적으로만든가상의장비이지만진짜안드로이드폰과기능이동일하다. 1.1 버전까지는에뮬레이터가기본제공되어간편하기는했지만다양한테스트를하기에는여러가지문제가있었다. 1.5 버전부터는 AVD 를필요한만큼만들어두고번갈아가면서사용할수있도록바뀌었다. 이클립스의메뉴에서 [Window-Android SDK and AVD Manager] 명령을선택하고목록에서 Virtual Devices 페이지를선택한다.

42/56 AVD 생성 새로운 AVD 를생성하기위해 New 버튼을누른후다음과같이입력한다. 이름은가상장비간의구분을위한명칭인데중복되지만않으면아무렇게나주어도상관없다. 짧게 scv 라고이름을붙여주도록하자. 타깃은 Android 2.1 로선택하고가상의메모리카드인 SD Card 는 32MB 로설정한다. 스킨은화면의해상도를선택하는데 HVGA 가안드로이드의표준이므로디폴트대로두면된다. 그외하드웨어장치옵션들도선택할수있다. 가상장비의옵션을적당히편집한후아래쪽의 Create AVD 버튼을누른다.

43/56 AVD 생성 AVD 설정 AVD 는 C:\User\ 사용자계정명 \.android\avd 폴더안에저장되며가상장비의메모리, 구성등의정보가기록되어있다. 똑같은절차를거쳐각각다른이름과다른설정으로여러대의 AVD 를미리생성해놓을수도있다.

44/56 AVD 생성 AVD 확인 AVD 가제대로생성되었는지 Start 버튼을눌러기동한다.

AVD 생성 AVD 가기동되지않을때대처방법 : 버그수정 에뮬레이터가제대로실행되면다행이나한글윈도우에서는약간의문제가발생할수도있다. AVD 생성후첫기동했을때에뮬레이터가뜨지않고다음과같은에러메시지가나타나는경우가종종있다. AVD 가저장되는경로에영문이아닌문자가있으면이클립스가에뮬레이터를제대로기동시키지못한다. SDK 업데이트속도가워낙빠르다보니구글이동양권의운영체제까지충분하게테스트하지못해발생한일종의버그다. 45/56

46/56 AVD 가기동되지않을때대처방법 : 버그수정 해결방법은 AVD 를한글이포함되지않는경로로옮기는것이다. AVD 의경로는 GUI 상에서편집할수없으므로명령행에서편집해야한다. [ 버그수정 1] 명령창을열고 AVD 가저장되어있는 C:\User\ 사용자계정 \.android\avd 폴더로이동한후다음명령으로 AVD 를적당한곳으로이동시킨다. android move avd -n scv -p c:\windows\scv.avd <scv 라는이름의 AVD 를 C:\Windows 아래의 scv.avd 폴더로이동시키라는명령이다.> 루트를깔끔하게유지하기위해 Windows 폴더아래로옮겼는데 Program Files 아래에둘수도있고 C:\Avd 식으로별도의폴더를만들어도상관없다. ( 경로에한글만포함되지않으면된다.) 이명령이제대로동작하려면 java 와안드로이드 SDK 에대해 Path 지정이되어있어야한다. 또대상폴더의부모폴더는존재해야하며마지막폴더인 scv.avd 는직접생성하므로존재해서는안된다.

47/56 AVD 가기동되지않을때대처방법 : 버그수정 [ 버그수정 2] 탐색기로 AVD 폴더를원하는곳으로이동시키고정보파일의경로만살짝수정하면된다. C:\User\ 사용자계정 \.android\avd 폴더안에생성되어있는 scv.avd 를잘라내서 C:\Windows 폴더에붙여넣는다. 메모장으로 avd 폴더에남아있는 scv.ini 파일을열어 path 를이동한경로명으로수정한다. target=android-7 path=c:\windows\scv.avd

48/56 옵션설정 실습과한글호환성확보를위해몇가지옵션을조정한다. 워크스페이스의문자셋을 UTF-8 로변경한다. 한글로주석을달기위해서는 UTF-8 인코딩을사용하는것이유리하며배포되는예제들도대부분 UTF-8 인코딩을사용하므로예제를제대로보기위해서라도조정하는것이좋다. Preference 창에서 [General-Workspace] 의 Text file encoding 을 [Other-UTF-8] 로변경한다. 이옵션을조정하지않으면예제의한글주석이깨져보이는문제가있다.

49/56 옵션설정 [General-Editors-TextEditors-Spelling-Enable spell checking] 옵션을해제한다. 주석의맞춤법검사를해주는기능인데컴파일러에게는너무사치스러운데다편집속도를떨어뜨리므로사용하지않는것이좋다. 한글을제대로인식하지못해영문단어와한글조사가붙어있으면무조건오타처리되어보기싫은밑줄이그어지는문제가있다.

50/56 옵션설정 [Java-Code Style-Organize Imports] 페이지의 Number of imports needed for.* 옵션을 1 로변경한다. 이클립스는 import 문을자동으로정리해주는편리한기능을제공하는데매클래스마다 import 문이작성되어소스가너무길어진다. 이값을 1 로바꿔놓으면패키지의모든클래스를한꺼번에임포트해주므로실습할때편리하고결과소스가짧아지는효과가있다.

51/56 옵션설정 [Java-Compiler-Errors-Warings-Unnecessary code] 의모든옵션들을 Ignore 로변경한다. 이옵션을바꾸지않으면실습중에수많은경고가발생한다.

52/56 설치확인 시스템에어떤파일들이생성되었는지, 적재적소에제대로배치되어있는지탐색기로살펴보고점검해본다. 다음과같은폴더들이생성되어있다면제대로설치가완료된것이다.

53/56 리눅스에서구축 JDK 설치 우분투의패키지관리자를사용하면 JDK 는아주쉽게설치할수있다. 터미널을열고다음명령을실행한다. sudo apt-get install sun-java6-bin 우분투의패키지관리자가최신버전을찾아다운및설치를자동으로수행한다.

54/56 리눅스에서구축 이클립스설치 http://www.eclipse.org 로가서 Elclipse IDE for Java EE Developers 의 Linux 32bit 버전을다운받아저장한다. 압축을해제한후홈디렉토리로이동시키는것이좋다. 홈디렉토리로이동한후다음명령으로이클립스를실행한다. cd ~/eclipse./eclipse 이후의실행과정은윈도우와동일하다.

55/56 리눅스에서구축 리눅스용안드로이드 SDK 설치 안드로이드홈페이지에서리눅스용 SDK 를다운받은후터미널에서압축을해제하고홈디렉토리로옮긴다. 명령행에서작업하려면.bashrc 를편집해 tools 디렉토리를패스로지정해놓는것이좋으나이클립스를사용할것이라면굳이필요치않다. ADT 설치 ADT 플러그인을설치한다. AVD 생성은윈도우에서의설치와동일하다.