핵심만골라배우는안드로이드스튜디오&프로그래밍_내지_11차_ indd
|
|
- 소원 양
- 8 years ago
- Views:
Transcription
1
2 Android Studio 2 Development Essentials by Neil Smyth Copyright c 2016 Neil Smyth. All rights reserved. Korean Translation Copyright c 2016 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. 이 책의 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 제이펍 출판사에 있습니다. 신저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단복제를 금합니다. 초판 1쇄 발행 2016년 6월 10일 지은이 닐 스미스 옮긴이 심재철 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제 호 주소 경기도 파주시 회동길 159 3층 3-B호 전화 / 팩스 홈페이지 / 원고투고 jeipub@gmail.com 독자문의 readers.jpub@gmail.com / 교재문의 jeipubmarketer@gmail.com 편집부 이민숙, 황유진, 이 슬, 이주원 / 소통 기획팀 민지환, 현지환 용지 신승지류유통 / 인쇄 해외정판사 / 제본 광우제책사 ISBN (93000) 값 36,000원 이 책은 저작권법에 따라 보호를 받는 저작물이므로 무단 전재와 무단 복제를 금지하며, 이 책 내용의 전부 또는 일부를 이용하려면 반드시 저작권자와 제이펍의 서면동의를 받아야 합니다. 잘못된 책은 구입하신 서점에서 바꾸어 드립니다. 제이펍은 독자 여러분의 아이디어와 원고 투고를 기다리고 있습니다. 책으로 펴내고자 하는 아이디어나 원고가 있으신 분께서는 책의 간단한 개요와 차례, 구성과 저(역)자 약력 등을 메일로 보내주세요. jeipub@gmail.com
3
4 드리는 말씀 이 책은 핵심만 골라 배우는 안드로이드 스튜디오 의 개정판입니다. 이 책에 기재된 내용을 기반으로 한 운용 결과에 대해 저/역자, 소프트웨어 개발자 및 제공자, 제이펍 출판사는 일체의 책임을 지지 않으므로 양해 바랍니다. 이 책에 기재한 회사명 및 제품명은 각 회사의 상표 및 등록명입니다. 이 책에서는 TM, C, R 등의 기호를 생략하고 있습니다. 이 책에서 사용하고 있는 실제 제품 버전은 독자의 학습 시점에 따라 책의 버전과 다를 수 있습니다. 이 책에 나오는 각종 예제의 안드로이드 스튜디오 프로젝트 파일들은 다음 사이트에서 다운로드할 수 있습니다. - 책의 내용과 관련된 문의사항은 옮긴이나 출판사로 연락주시기 바랍니다. - 옮긴이: jcspro@hanafos.com - 출판사: readers.jpub@gmail.com
5 차 례 xxiv xxvi CHAPTER 1 CHAPTER 2 CHAPTER 3 개요 _ 안드로이드 스튜디오의 장점 소스 코드 다운로드하기 단축키와 코드 표기 독자 A/S 오탈자 5 안드로이드 스튜디오 개발 환경 구성하기 _ 개발 시스템 요구 사항 자바 JDK 설치하기 리눅스에서 설치하기 안드로이드 스튜디오 패키지 다운로드하기 안드로이드 스튜디오 설치하기 안드로이드 스튜디오 설정 위저드 가장 최신 버전의 안드로이드 SDK 패키지 설치하기 명령행에서 안드로이드 SDK 도구 사용하기 안드로이드 스튜디오와 SDK 버전 업그레이드하기 안드로이드 SDK와 자바 JDK 설치 경로 변경하기 요약 25 안드로이드 스튜디오로 첫 번째 애플리케이션 만들기 _ 새로운 안드로이드 프로젝트 생성하기 프로젝트와 SDK 설정 정의하기 액티비티 생성하기 애플리케이션 변경하기 레이아웃과 리소스 파일 살펴보기 레이아웃 미리보기 요약 42 차 례 v
6 CHAPTER 4 CHAPTER 5 CHAPTER 6 CHAPTER 7 안드로이드 스튜디오 UI둘러보기 _ 웰컴 스크린 메인 창 도구 창 안드로이드 스튜디오의 단축키 스위처와 최근 파일 기능을 이용한 내비게이션 안드로이드 스튜디오 테마 변경하기 요약 53 안드로이드 스튜디오에서 AVD생성하기 _ AVD 개요 새로운 AVD 생성하기 에뮬레이터 시작하기 AVD에서 애플리케이션 실행하기 Run/Debug 구성 실행 중인 애플리케이션 중단시키기 명령행에서 AVD 생성하기 AVD 구성 파일들 AVD의 위치 이동과 이름 변경 Intel HAXM 사용으로 에뮬레이터 성능 향상시키기 요약 73 안드로이드 스튜디오 버전 2 AVD에뮬레이터사용과구성하기 _ 에뮬레이터 환경 에뮬레이터 툴바 줌 모드 사용하기 에뮬레이터 창의 크기 조정 확장 제어 옵션 드래그 - 드롭 모의 지문 구성하기 멀티 코어 지원 요약 84 실제 안드로이드 장치에서 애플리케이션 테스트하기 _ ADB 개요 안드로이드 장치에서 ADB 활성화하기 adb 연결 테스트하기 안드로이드 스튜디오에서 장치 확인하기 요약 95 vi 차 례
7 CHAPTER 8 CHAPTER 9 CHAPTER 10 CHAPTER 11 안드로이드 스튜디오 코드 편집기 _ 안드로이드 스튜디오 코드 편집기 편집기 창 나누기 코드 자동 완성 문장 자동 완성 매개변수 정보 코드 생성 코드 접어 감추기 빠른 문서 검색 소스 코드 형식 변환 요약 108 안드로이드 아키텍처 개요 _ 안드로이드 소프트웨어 스택 리눅스 커널 안드로이드 런타임 ART 안드로이드 라이브러리 애플리케이션 프레임워크 애플리케이션 요약 114 액티비티와 인텐트 개요 _ 안드로이드 액티비티 안드로이드 인텐트 브로드캐스트 인텐트 브로드캐스트 수신자 안드로이드 서비스 콘텐트 제공자 애플리케이션 매니페스트 애플리케이션 리소스 애플리케이션 컨텍스트 요약 119 안드로이드 애플리케이션과 액티비티 생명주기 _ 안드로이드 애플리케이션과 리소스 관리 안드로이드 프로세스 상태 액티비티 생명주기 액티비티 스택 액티비티 상태 구성 변경 요약 125 차 례 vii
8 CHAPTER 12 CHAPTER 13 CHAPTER 14 CHAPTER 15 CHAPTER 16 액티비티 상태 변화 처리하기 _ Activity 클래스 동적 상태 vs. 영속적 상태 안드로이드 액티비티 생명주기 메서드 액티비티 생애 요약 134 액티비티 상태 변화 예제 _ 상태 변화 예제 프로젝트 생성하기 사용자 인터페이스 디자인하기 액티비티 생명주기 메서드 오버라이딩 로그캣 패널의 메시지 필터링하기 애플리케이션 실행하기 액티비티로 실험하기 요약 147 액티비티 상태를 저장하고 복원하기 _ 동적 상태 저장 사용자 인터페이스 상태의 자동 저장과 복원 Bundle 클래스 상태 데이터 저장하기 상태 데이터 복원하기 애플리케이션 테스트하기 요약 154 안드로이드 뷰, 뷰 그룹, 레이아웃 _ 서로 다른 안드로이드 장치를 위한 디자인 뷰와 뷰 그룹 안드로이드 레이아웃 매니저 뷰 계층 구조 사용자 인터페이스 생성 요약 161 안드로이드 스튜디오 디자이너 도구 살펴보기 _ Basic vs. Empty 액티비티 템플릿 안드로이드 스튜디오 디자이너 디자인 모드 텍스트 모드 속성 설정하기 타입 변환 커스텀 장치 정의 생성하기 요약 171 viii 차 례
9 CHAPTER 17 CHAPTER 18 CHAPTER 19 CHAPTER 20 안드로이드 스튜디오 디자이너 도구로 UI 디자인하기 _ 안드로이드 스튜디오 디자이너 도구 예제 프로젝트 생성하기 새로운 액티비티 생성하기 사용자 인터페이스 디자인하기 뷰 속성 변경하기 애플리케이션 실행하기 XML 레이아웃 직접 생성하기 계층 구조 뷰어 사용하기 요약 183 자바 코드로 안드로이드 UI생성하기 _ 자바 코드 vs. XML 레이아웃 파일 뷰 생성하기 속성과 레이아웃 매개변수 안드로이드 스튜디오로 예제 프로젝트 생성하기 액티비티에 뷰 추가하기 뷰 속성 설정하기 레이아웃 매개변수와 룰 추가하기 뷰 ID 사용하기 dp를 px로 변환하기 요약 196 안드로이드 스튜디오 디자이너에서 GridLayout매니저사용하기 _ 안드로이드 GridLayout과 Space 클래스 GridLayout 예제 GridLayout 프로젝트 생성하기 GridLayout 인스턴스 생성하기 GridLayout 셀에 뷰 추가하기 행과 열의 이동과 삭제 여러 행과 열로 구성된 셀 구현하기 GridLayout의 자식 뷰 gravity 변경하기 요약 206 XML레이아웃리소스로GridLayout사용하기 _ XML 리소스 파일의 GridLayout GridLayout에 자식 뷰 추가하기 복수 셀과 셀의 그래비티 및 마진 선언하기 요약 212 차 례 ix
10 CHAPTER 21 CHAPTER 22 CHAPTER 23 CHAPTER 24 안드로이드 이벤트 처리 개요 _ 안드로이드 이벤트 이해하기 android:onclick 리소스 사용하기 이벤트 리스너와 콜백 메서드 이벤트 처리 예제 사용자 인터페이스 디자인하기 이벤트 리스너와 콜백 메서드 이벤트 소비하기 요약 222 안드로이드 스튜디오의 Instant Run사용하기 _ Instant Run 개요 Instant Run의 Swap 레벨 이해하기 Instant Run의 활성화와 비활성화 Instant Run 사용하기 Instant Run 예제 프로젝트 Instant Run의 Hot swap 수행시키기 Instant Run의 Warm swap 수행시키기 강제로 Warm swap 수행시키기 Instant Run의 Cold swap 수행시키기 매니페스트 변경하기 요약 229 터치와 다중 터치 이벤트 처리하기 _ 터치 이벤트 처리하기 MotionEvent 객체 터치 액션 이해하기 다중 터치 처리하기 다중 터치 애플리케이션 생성하기 액티비티 사용자 인터페이스 디자인하기 터치 이벤트 리스너 구현하기 애플리케이션 실행시키기 요약 239 안드로이드 제스처 감지 클래스로 일반 제스처 처리하기 _ 일반 제스처 감지와 처리하기 제스처 처리 프로젝트 생성하기 리스너 클래스 구현하기 GestureDetector 인스턴스 생성하기 ontouchevent( ) 메서드 구현하기 애플리케이션 테스트하기 요약 247 x 차 례
11 CHAPTER 25 CHAPTER 26 CHAPTER 27 커스텀 제스처와 핀치 인식 구현하기 _ 안드로이드 제스처 빌더 애플리케이션 GestureOverlayView 클래스 제스처 감지하기 제스처 확인하기 제스처 빌더 애플리케이션의 빌드와 실행 제스처 파일 생성하기 SD 카드에서 제스처 파일 추출하기 예제 프로젝트 생성하기 제스처 파일을 프로젝트에 추가하기 사용자 인터페이스 디자인하기 제스처 파일 로드하기 이벤트 리스너 등록하기 ongestureperformed 메서드 구현하기 애플리케이션 테스트하기 GestureOverlayView 구성하기 제스처 가로채기 핀치 제스처 처리하기 핀치 제스처 예제 프로젝트 요약 264 안드로이드 프래그먼트 개요 _ 프래그먼트란? 프래그먼트 생성하기 레이아웃 XML 파일을 사용하여 프래그먼트를 액티비티에 추가하기 코드에서 프래그먼트를 추가하고 관리하기 프래그먼트 이벤트 처리하기 프래그먼트 간의 통신 구현하기 요약 274 안드로이드 스튜디오에서 프래그먼트 사용하기 예제 프로젝트 _ 예제 프래그먼트 애플리케이션 개요 예제 프로젝트 생성하기 첫 번째 프래그먼트 레이아웃 생성하기 첫 번째 프래그먼트 클래스 생성하기 두 번째 프래그먼트 레이아웃 생성하기 프래그먼트를 액티비티에 추가하기 ToolbarFragment가 액티비티와 통신하게 만들기 액티비티에서 TextFragment로 통신하기 애플리케이션 테스트하기 요약 291 차 례 xi
12 CHAPTER 28 CHAPTER 29 CHAPTER 30 CHAPTER 31 오버플로 메뉴 생성과 관리 _ 오버플로 메뉴 오버플로 메뉴 생성하기 오버플로 메뉴 보여주기 메뉴 항목 선택에 응답하기 체크 가능한 항목 그룹 생성하기 예제 프로젝트 생성하기 메뉴 항목 변경하기 onoptionsitemselected( ) 메서드 변경하기 애플리케이션 테스트하기 요약 300 안드로이드 전환 프레임워크 _ 안드로이드 전환과 장면 전환에 인터폴레이터 사용하기 장면 전환 사용하기 코드의 커스텀 전환과 TransitionSet XML의 커스텀 전환과 TransitionSet 인터폴레이터 사용하기 커스텀 인터폴레이터 생성하기 begindelayedtransition 메서드 사용하기 요약 312 begindelayedtransition을 사용한 안드로이드 전환 _ 안드로이드 스튜디오 TransitionDemo 프로젝트 생성하기 프로젝트 파일 준비하기 begindelayedtransition 애니메이션 구현하기 우리 입맛에 맞는 전환 만들기 요약 320 안드로이드 장면 전환 구현하기 _ 장면 전환 프로젝트 개요 안드로이드 스튜디오 SceneTransitions 프로젝트 생성하기 루트 컨테이너를 확인하고 준비하기 첫 번째 장면 디자인하기 두 번째 장면 디자인하기 첫 번째 장면 보여주기 두 번째 장면 로드하기 전환 구현하기 전환 파일 추가하기 전환 세트의 로딩과 사용 부가적인 전환 구성하기 요약 332 xii 차 례
13 CHAPTER 32 CHAPTER 33 CHAPTER 34 CHAPTER 35 플로팅 액션 버튼과 스낵바 사용하기 _ 머티리얼 디자인 디자인 라이브러리 플로팅 액션 버튼(FAB) 스낵바 예제 프로젝트 생성하기 프로젝트 살펴보기 플로팅 액션 버튼 변경하기 ListView를 콘텐트 레이아웃에 추가하기 ListView에 항목 추가하기 액션을 스낵바에 추가하기 요약 346 탭 인터페이스 생성하기 _ ViewPager 개요 TabLayout 컴포넌트 개요 TabLayoutDemo 프로젝트 생성하기 첫 번째 프래그먼트 생성하기 프래그먼트 복제하기 TabLayout과 ViewPager 추가하기 Pager 어댑터 생성하기 초기화 작업하기 애플리케이션 테스트하기 TabLayout 커스터마이징 아이콘 탭 항목 보여주기 요약 361 RecyclerView와 CardView사용하기 _ RecyclerView 개요 CardView 개요 라이브러리를 프로젝트에 추가하기 요약 367 RecyclerView와 CardView예제프로젝트 _ CardDemo 프로젝트 생성하기 플로팅 액션 버튼 삭제하기 RecyclerView와 CardView 라이브러리 추가하기 CardView 레이아웃 디자인하기 RecyclerView 추가하기 RecyclerView 어댑터 생성하기 이미지 파일 추가하기 RecyclerView 컴포넌트 초기화하기 애플리케이션 테스트하기 카드 선택에 응답하기 요약 379 차 례 xiii
14 CHAPTER 36 CHAPTER 37 CHAPTER 38 CHAPTER 39 앱 바와 컬랩싱 툴바 레이아웃 사용하기 _ AppBar 개요 예제 프로젝트 RecyclerView와 Toolbar 연동시키기 컬랩싱 툴바 레이아웃 개요 제목과 스크림 색상 변경하기 요약 389 내비게이션 드로어 구현하기 _ 내비게이션 드로어 개요 드로어를 열거나 닫기 드로어 항목 선택에 응답하기 내비게이션 드로어 액티비티 템플릿 사용하기 내비게이션 드로어 템플릿으로 프로젝트 생성하기 템플릿 레이아웃 리소스 파일 Header Coloring 리소스 파일 템플릿 메뉴 리소스 파일 템플릿 코드 앱 실행하기 요약 398 안드로이드 스튜디오 마스터/디테일 플로 _ 마스터/디테일 플로 마스터/디테일 플로 액티비티 생성하기 마스터/디테일 플로 템플릿 살펴보기 마스터/디테일 플로 템플릿 변경하기 콘텐트 모델 변경하기 디테일 패널 변경하기 WebsiteDetailFragment 클래스 변경하기 WebsiteListActivity 클래스 수정하기 매니페스트 퍼미션 추가하기 애플리케이션 실행하기 요약 412 안드로이드 인텐트 개요 _ 인텐트 개요 명시적 인텐트 액티비티에서 데이터 반환하기 암시적 인텐트 인텐트 필터 사용하기 인텐트 사용 가능 여부 확인하기 요약 419 xiv 차 례
15 CHAPTER 40 CHAPTER 41 CHAPTER 42 명시적 인텐트 예제 프로젝트 _ 예제 프로젝트 생성하기 ActivityA의 사용자 인터페이스 디자인하기 두 번째 액티비티 클래스 생성하기 ActivityB의 사용자 인터페이스 레이아웃 디자인하기 애플리케이션의 매니페스트 파일 살펴보기 인텐트 생성하기 인텐트 데이터 추출하기 서브 액티비티로 ActivityB 론칭하기 서브 액티비티에서 데이터 반환하기 애플리케이션 테스트하기 요약 431 암시적 인텐트 예제 프로젝트 _ 암시적 인텐트 예제 프로젝트 생성하기 사용자 인터페이스 디자인하기 암시적 인텐트 생성하기 암시적 인텐트로 론칭되는 액티비티 생성하기 사용자 인터페이스에 웹 뷰 추가하기 인텐트 URL 얻기 MyWebView 프로젝트의 매니페스트 파일 변경하기 MyWebView 패키지를 장치에 설치하기 애플리케이션 테스트하기 요약 443 브로드캐스트 인텐트와 브로드캐스트 수신자 _ 브로드캐스트 인텐트 개요 브로드캐스트 수신자 개요 브로드캐스트 수신자로부터 결과 데이터 받기 스티키 브로드캐스트 인텐트 브로드캐스트 인텐트 예제 프로젝트 예제 애플리케이션 생성하기 브로드캐스트 인텐트를 생성하고 전송하기 브로드캐스트 수신자 생성하기 매니페스트 파일에 브로드캐스트 수신자 구성하기 브로드캐스트 애플리케이션 테스트하기 시스템 브로드캐스트 인텐트 리스닝하기 요약 456 차 례 xv
16 CHAPTER 43 CHAPTER 44 CHAPTER 45 CHAPTER 46 스레드와 스레드 핸들러 _ 스레드 개요 애플리케이션의 메인 스레드 스레드 핸들러 기본적인 스레드 예제 프로젝트 새로운 스레드 생성하기 스레드 핸들러 구현하기 핸들러에게 메시지 전달하기 요약 467 스타트 서비스와 바운드 서비스 개요 _ 스타트 서비스 인텐트 서비스 바운드 서비스 서비스 생명주기 소멸된 서비스 재시작 옵션 제어하기 매니페스트 파일에 서비스 선언하기 시스템 구동 시 서비스 시작시키기 요약 475 스타트 서비스 구현 예제 프로젝트 _ 예제 프로젝트 생성하기 Service 클래스 생성하기 서비스를 매니페스트 파일에 추가하기 서비스 시작시키기 인텐트 서비스 테스트하기 Service 클래스 사용하기 새로운 서비스 생성하기 사용자 인터페이스 변경하기 애플리케이션 실행하기 서비스를 처리하는 새로운 스레드 생성하기 요약 488 로컬 바운드 서비스 예제 프로젝트 _ 바운드 서비스 이해하기 바운드 서비스 상호작용 옵션 로컬 바운드 서비스 예제 프로젝트 바운드 서비스를 프로젝트에 추가하기 Binder 구현하기 클라이언트를 서비스에 바인딩하기 예제 프로젝트 마무리하기 애플리케이션 테스트하기 요약 499 xvi 차 례
17 CHAPTER 47 CHAPTER 48 CHAPTER 49 CHAPTER 50 원격 바운드 서비스 예제 프로젝트 _ 클라이언트에서 원격 서비스로 통신하기 예제 애플리케이션 생성하기 사용자 인터페이스 디자인하기 원격 바운드 서비스 구현하기 원격 서비스를 매니페스트 파일에 구성하기 원격 서비스를 론칭하고 바인딩하기 원격 서비스에 메시지 전송하기 요약 508 안드로이드 SQLite데이터베이스개요 _ 데이터베이스 테이블 이해하기 데이터베이스 스키마 개요 열과 데이터 타입 데이터베이스 행 기본 키 개요 SQLite란? SQL AVD에서 SQLite 사용해보기 안드로이드 SQLite 자바 클래스 요약 518 TableLayout과 TableRow개요 _ TableLayout과 TableRow 데이터베이스 프로젝트 생성하기 사용자 인터페이스에 TableLayout 추가하기 TableRow를 추가하고 구성하기 버튼을 레이아웃에 추가하기 레이아웃 마진 조정하기 요약 527 안드로이드 SQLite데이터베이스예제프로젝트 _ 데이터베이스 예제 개요 데이터 모델 생성하기 데이터 핸들러 구현하기 액티비티 이벤트 메서드 구현하기 애플리케이션 테스트하기 요약 538 차 례 xvii
18 CHAPTER 51 CHAPTER 52 CHAPTER 53 CHAPTER 54 콘텐트 제공자 이해하기 _ 콘텐트 제공자란? 콘텐트 제공자 콘텐트 URI 콘텐트 리졸버 <provider> 매니페스트 요소 요약 543 콘텐트 제공자 구현하기 _ Database 프로젝트 활용하기 콘텐트 제공자 패키지 추가하기 콘텐트 제공자 클래스 생성하기 Authority와 콘텐트 URI 구성하기 콘텐트 제공자에 UriMatcher 구현하기 콘텐트 제공자의 oncreate( ) 메서드 구현하기 콘텐트 제공자의 insert( ) 메서드 구현하기 콘텐트 제공자의 query( ) 메서드 구현하기 콘텐트 제공자의 update( ) 메서드 구현하기 콘텐트 제공자의 delete( ) 메서드 구현하기 매니페스트 파일에 콘텐트 제공자 선언하기 데이터베이스 핸들러 변경하기 요약 559 구글 클라우드 스토리지 액세스하기 _ 스토리지 액세스 프레임워크 스토리지 액세스 프레임워크 사용하기 피커의 파일 내역 선별하기 인텐트 결과 처리하기 파일의 내용 읽기 파일에 내용 쓰기 파일 삭제하기 파일의 지속적인 액세스 얻기 요약 567 안드로이드 스토리지 액세스 프레임워크 예제 프로젝트 _ 스토리지 액세스 프레임워크 예제 프로젝트 개요 스토리지 액세스 프레임워크 예제 프로젝트 생성 사용자 인터페이스 디자인하기 요청 코드 선언하기 새로운 스토리지 파일 생성하기 onactivityresult( ) 메서드 스토리지 파일에 데이터 저장하기 스토리지 파일을 열고 읽기 580 xviii 차 례
19 54.9 스토리지 액세스 애플리케이션 테스트하기 요약 583 CHAPTER 55 CHAPTER 56 CHAPTER 57 CHAPTER 58 비디오 재생 구현하기 _ 안드로이드 VideoView 클래스 개요 안드로이드 MediaController 클래스 개요 비디오 재생 테스트 관련 사항 비디오 재생 예제 프로젝트 생성하기 VideoPlayer 애플리케이션의 레이아웃 디자인하기 VideoView 구성하기 인터넷 퍼미션 추가하기 MediaController를 VideoView에 추가하기 onpreparedlistener 설정하기 요약 592 카메라 인텐트를 사용한 비디오 녹화와 이미지 캡처 _ 카메라 지원 여부 확인하기 비디오 캡처 인텐트 호출하기 이미지 캡처 인텐트 호출하기 안드로이드 스튜디오 비디오 녹화 프로젝트 생성하기 사용자 인터페이스 레이아웃 디자인하기 카메라 확인하기 비디오 캡처 인텐트 론칭하기 인텐트의 반환 결과 처리하기 애플리케이션 테스트하기 요약 601 안드로이드 6의 런타임 퍼미션 _ 보통과 위험 퍼미션 이해하기 퍼미션 예제 프로젝트 생성하기 퍼미션 확인하기 런타임 시에 퍼미션 요청하기 퍼미션 요청 이유 제공하기 퍼미션 앱 테스트하기 요약 611 안드로이드 오디오 녹음과 재생하기 _ 오디오 재생하기 MediaRecorder 클래스를 사용해서 오디오 녹음하기 예제 프로젝트 개요 AudioApp 프로젝트 생성하기 사용자 인터페이스 디자인하기 마이크 확인하기 617 차 례 xix
20 58.7 액티비티 초기화하기 recordaudio( ) 메서드 구현하기 stopaudio( ) 메서드 구현하기 playaudio( ) 메서드 구현하기 매니페스트 파일에 퍼미션 구성하기 애플리케이션 테스트하기 요약 625 CHAPTER 59 CHAPTER 60 CHAPTER 61 구글 맵 API 사용하기 _ 구글 맵 안드로이드 API의 구성 요소 구글 맵 프로젝트 생성하기 개발자 서명 얻기 애플리케이션 테스트하기 지오코딩과 역-지오코딩 이해하기 지도를 애플리케이션에 추가하기 현재 위치 퍼미션 요청하기 사용자의 현재 위치 보여주기 지도 타입 변경하기 맵 컨트롤을 사용자에게 보여주기 지도 제스처 처리하기 지도 표식 생성하기 맵 카메라 제어하기 요약 645 안드로이드 인쇄 프레임워크 사용하기 _ 안드로이드 인쇄 아키텍처 인쇄 서비스 플러그인 구글 클라우드 인쇄 구글 드라이브로 인쇄하기 PDF로 저장하기 안드로이드 장치에서 인쇄하기 안드로이드 애플리케이션에 포함되는 인쇄 지원 옵션 요약 656 HTML과 웹 콘텐트 인쇄 예제 프로젝트 _ HTML 인쇄 예제 애플리케이션 생성하기 동적 HTML 콘텐트 인쇄하기 기존 웹 페이지 인쇄 예제 애플리케이션 생성하기 플로팅 액션 버튼 삭제하기 사용자 인터페이스 레이아웃 디자인하기 웹 페이지를 WebView에 로드하기 인쇄 메뉴 옵션 추가하기 요약 668 xx 차 례
21 CHAPTER 62 CHAPTER 63 CHAPTER 64 CHAPTER 65 안드로이드 커스텀 문서 인쇄 _ 안드로이드 커스텀 문서 인쇄 개요 커스텀 문서 인쇄 프로젝트 준비하기 커스텀 인쇄 어댑터 생성하기 onlayout( ) 콜백 메서드 구현하기 onwrite( ) 콜백 메서드 구현하기 페이지가 인쇄 범위에 있는지 확인하기 페이지 캔버스에 콘텐트 그리기 인쇄 작업 시작시키기 애플리케이션 테스트하기 요약 686 안드로이드 지문 인증 구현하기 _ 지문 인증 개요 지문 인증 프로젝트 생성하기 장치의 지문 인증 구성하기 지문 퍼미션을 매니페스트 파일에 추가하기 지문 아이콘 다운로드하기 사용자 인터페이스 디자인하기 KeyguardManager와 FingerprintManager 사용하기 장치의 보안 설정 확인하기 안드로이드 Keystore와 KeyGenerator 사용하기 키 생성하기 Cipher 초기화하기 CryptoObject 인스턴스 생성하기 지문 인증 처리 클래스 구현하기 프로젝트 테스트하기 요약 704 서로 다른 안드로이드 장치와 화면 처리하기 _ 서로 다른 장치 화면 처리하기 화면 크기에 맞는 레이아웃 생성하기 서로 다른 이미지 제공하기 하드웨어 지원 여부 확인하기 특정 장치에 맞는 애플리케이션 바이너리 제공하기 요약 709 안드로이드 애플리케이션 릴리스하기 _ 릴리스 준비 절차 빌드 변이 변경하기 ProGuard 활성화하기 키스토어 파일 생성하기 개인 키 생성하기 713 차 례 xxi
22 65.6 애플리케이션 APK 파일 생성하기 구글 플레이 개발자 콘솔 계정 등록하기 새로운 APK 버전을 구글 플레이 개발자 콘솔에 업로드하기 요약 718 CHAPTER 66 CHAPTER 67 CHAPTER 68 구글 플레이 인앱 결제를 애플리케이션에 통합하기 _ 구글 플레이 결제 라이브러리 설치하기 인앱 결제 예제 프로젝트 생성하기 결제 퍼미션을 매니페스트 파일에 추가하기 IInAppBillingService.aidl 파일을 프로젝트에 추가하기 유틸리티 클래스를 프로젝트에 추가하기 사용자 인터페이스 디자인하기 Click Me! 버튼 구현하기 구글 플레이 개발자 콘솔과 구글 계정 애플리케이션의 공개 인증 키 받기 애플리케이션에서 구글 플레이 결제 설정하기 구글 플레이 인앱 결제 구입을 초기 설정하기 onactivityresult 메서드 구현하기 구입 종료 리스너 구현하기 구입 제품 소비하기 IabHelper 인스턴스 해제하기 Security.java 파일 변경하기 인앱 결제 애플리케이션 테스트하기 릴리스용 APK 빌드하기 새로운 인앱 제품 생성하기 알파 배포 채널로 애플리케이션 제출하기 인앱 결제 테스트 계정 추가하기 그룹 테스트 구성하기 인앱 구입의 문제 해결하기 요약 743 안드로이드 스튜디오의 그래들 개요 _ 그래들 개요 그래들과 안드로이드 스튜디오 최상위 수준의 그래들 빌드 파일 모듈 수준의 그래들 빌드 파일들 빌드 파일에 서명 설정 구성하기 명령행에서 그래들 작업 실행하기 요약 755 안드로이드 스튜디오 그래들 빌드 예제 프로젝트 _ 빌드 변이 예제 프로젝트 생성하기 Hello World! 문자열을 리소스로 추출하기 빌드 플레이버를 모듈 빌드 파일에 추가하기 757 xxii 차 례
23 68.4 플레이버를 프로젝트 구조에 추가하기 리소스 파일을 플레이버에 추가하기 빌드 플레이버 테스트하기 빌드 변이와 클래스 파일 빌드 플레이버에 패키지 추가하기 각 플레이버의 액티비티 클래스 변경하기 요약 766 APPENDIX A APPENDIX B 에뮬레이터에서 한글 사용하기 _ 767 A.1 한글 출력하기 767 A.2 한글 입력 771 A.3 애플리케이션에서 한글 입출력하기 774 Button의 textallcaps속성값설정 _ 차 례 xxiii
24 옮 긴 이 머 리말 정성과 최선을 다했습니다. 한마디로 요약해서 독자 여러분께 드리고 싶은 제 진심의 표현입니다. 용어 하나하나, 내용 모 두에 걸쳐 심사숙고하였으며, 실습용 프로젝트 코드의 작성 및 수정과 테스트를 병행하여 이 책을 완성하였습니다. 안드로이드 세계의 모든 길은 안드로이드 스튜디오로 통한다. 이제는 이 말이 기정사실화된 것 같습니다. 안드로이드 스튜디오의 버전이 올라가면서 더욱 강력해지고 쓸 만하게 되었기 때문이죠. 이 책에서는 안드로이드 스튜디오를 사용해서 안드로이드 애플리케이션을 개발하는 데 필요 한 핵심적인 내용을 알려줍니다. 즉, 안드로이드 스튜디오를 사용하는 데 꼭 필요한 내용은 물론이고 안드로이드 애플리케이션 개발에 반드시 알아야 할 내용까지 빠짐없이 가르쳐줍니 다. 그리고 이 모든 것을 안드로이드 스튜디오의 실습 프로젝트로 구성하여 독자 여러분이 직 접 만들어 체험하면서 쉽게 배울 수 있도록 구성되었습니다. 또한, 안드로이드 프로그래밍 기 법과 안드로이드 스튜디오의 최신 내용을 추가로 반영하고 있습니다. 따라서 안드로이드 스튜디오를 사용해서 안드로이드 애플리케이션 개발을 배우고 시작하려는 분들께 적극적으로 권하고 싶은 책입니다. 안드로이드 스튜디오를 빨리 파악하고 싶은 기존 개발자들께도 권하고 싶습니다. 이 책을 번역하면서 다음과 같은 부분에 중점을 두었습니다. xxiv 옮긴이 머리말
25 111 원서의 모든 내용을 안드로이드 스튜디오 최신 버전에 맞춰 수정하고 보충하였습니다 용어 선정을 신중히 하고 독자 여러분의 이해를 돕는 데 필요한 설명을 많이 추가하였습니다. 책의 각종 프로젝트를 독자 여러분이 만들면서 실습하는 데 도움이 될 수 있도록 결함을 수정하고 미비한 점을 보완하였습니다. 여러 차례에 걸쳐 개선되면서 더욱 강력해진 안드로이드 스튜디오의 면모를 반영하여 제작된 이 책은 원서의 최신 개정판이라고 생각하셔도 좋습니다. 독자 여러분께 도움이 될 수 있는 책을 만들어야 한다는 집념이 있었기에 가능했던 것 같습니다. 이 책을 출간하는 데 아낌없는 배려와 수고를 해주신 제이펍 출판사의 장성두 사장님과 이민숙 과장님께 진심으로 감사드립 니다. 2016년 6월 역자 심재철 드림 옮긴이 머리말 xxv
26 베 타 리 더 후 기 강명원(Vital Hint Korea) 안드로이드 개발에 필요한 것들이 거의 모두 담겨 있고, 최신 안드로이드 관련 내용도 충실히 담겨 있습니다. 안드로이드 스튜디오의 모든 기능을 사용해보고 싶다면 추천하고픈 책입니다. 원고의 품질도 상당히 좋은 편이었으며, 오류도 거의 보이지 않았습니다. 다만, 베타리딩 기간 이 넉넉하지 않아 좀 더 꼼꼼하게 보지 못한 게 아쉽네요. 김선종(이상한모임) 안드로이드 스튜디오를 통한 앱 개발 프로그래밍 입문용 책입니다. 안드로이드 OS의 구조와 개념적인 설명이 포함되어 있어 안드로이드를 잘 모르는 사람도 이해하기 쉽습니다. 책에 있는 안드로이드 스튜디오의 팁과 노하우를 보고 내용을 꼼꼼히 살피면서 내용을 따라가다 보면, 눈앞에 어느새 안드로이드 앱이 만들어져 있을 것입니다. 노현석(이상한모임) 안드로이드 스튜디오가 구글 I/O를 통해서 발표된 지도 어느덧 3년이 되었습니다. 이미 많은 개발자가 사용하는 툴이지만, 아직까지 여러 이유로 이클립스로 개발하는 곳도 있습니다. 이 책은 이런 분들에게 안드로이드 스튜디오에서 작업하는 흐름을 소개하고 있습니다. 개발 IDE 가 바뀐 만큼 더 멋진 개발을 도와주는 안드로이드 스튜디오! 아직 접하시지 않은 분들에게 일독을 권합니다. xxvi 베타리더 후기
27 박수석(LG CNS) 안드로이드 스튜디오 설치부터 안드로이드 개발의 기초까지 확실히 배울 수 있는 책입니다. 특히, 초보자에게 가장 낯설게 느껴지는 용어에 대한 충실한 설명이 인상 깊습니다. 적절한 분량과 참고 그림이 지치지 않고 완주할 수 있도록 도와줄 것입니다. 송종근(위시컴퍼니) 제목을 보고 섣부른 판단을 한 제가 부끄러울 정도로 폭넓게 또 충실히 안드로이드 앱 제작 방법을 다루고 있습니다. 최신 안드로이드에서 지원하는 기능들을 이용해 앱을 제작하는 방 법과 앱을 만들 때 주의해야 하는 항목들을 가정교사로부터 공부하는 듯한 기분이었습니다. 범위도 내용도 다 좋았는데, 약간의 번역투 문체가 옥에 티로 남는 것 같습니다. 신승우(굿닥) 안드로이드 스튜디오로 안드로이드 개발을 시작한다면 이 책으로 시작해도 좋을 만큼 책 내 용이 충실합니다. 또한, 머티리얼 디자인 기반의 UI 개발 지식도 얻을 수 있어서 쉽고 빠르게 최신 UX 트렌드가 반영된 앱을 개발할 수 있을 것입니다. 베타리딩을 신청할 때 이 도서의 성 격이 안드로이드 스튜디오 IDE에 초점이 맞춰진 도서라고 생각하고 베타리딩을 신청하였는 데, 책 내용은 안드로이드 스튜디오 기반의 개발 환경에서 따라 하기 형태의 개발도서라서 책 제목이 변경되었으면 합니다. 윤필상(상일미디어고등학교) 안드로이드 개발을 위해 구글에서 개발한 최적의 프로그램인 안드로이드 스튜디오. 이 만능 도구의 기능을 온전히 다 사용하기 위한 책이었습니다. 안드로이드 애플리케이션을 개발하고 자 하는 사람들이라면 반드시 모니터 옆에 두고 계속 읽어야 할 모범 교과서라 생각합니다. 한 편, 학생들의 입장에서도 책을 읽어보았습니다. 편안하게 읽히고 어려운 개념을 많은 그림으 로 설명을 해주어 쉽게 접근할 수 있었습니다. 고등학생들이 보아도 충분히 이해할 수 있을 것 같아 구매를 권장해서 수업을 진행해 보고 싶은 생각이 듭니다. 베타리더 후기 xxvii
28 정연모(스윗트래커) 최신 기술을 다루는 안드로이드 서적은 부족하다고 생각했었는데, 오랜만에 추천할 만한 책 이 나와서 무척 기쁩니다. 이 책은 안드로이드 스튜디오의 기본적인 사용법과 기초적인 지식 그리고 안드로이드 최신 기술까지 두루 섭렵한 책이라고 생각합니다. 이 책 한 권으로 안드로 이드 개발 입문자뿐만 아니라 심도 있게 공부하고 싶은 사람에게도 추천하고 싶습니다. 정재우(용인정보고등학교) 도서의 품질은 전반적으로 만족스러웠습니다. 다만, 개발 툴 설치 이후에 기초 문법부터 설명 하는 것이 아니라 정말로 개발에 필요한 핵심 위주로 챕터를 구성하다 보니 안드로이드를 아 예 모르는 초보자가 처음부터 읽기에는 다소 어렵지 않을까 하는 생각이 듭니다. 그러나 안드 로이드 OS와 안드로이드 스튜디오를 최신 버전 기준으로 설명하고 있고, 필요할 땐 언제나 찾 아볼 수 있는 레퍼런스 형태의 구성은 이 책의 가치를 높여줄 것입니다. 한홍근(고려대학교 세종캠퍼스) 안드로이드 앱을 만들면서 이 기능이 필요해! 라고 생각될 때 참고하면 좋을 것 같습니다. 백 과사전과 같이 두꺼운 책을 처음부터 따라 하는 것보다 핵심 요소만 담아 필요한 부분만 보 고 적용할 수 있는 이 책이 좋다고 생각하는 이유입니다. 입문 단계를 넘어 다음 단계로 가고 자 하는 분들께 추천해 드립니다. 제이펍은 책에 대한 애정과 기술에 대한 열정이 뜨거운 베타리더들로 하여금 출간되는 모든 서적에 사전 검증을 시행하고 있습니다. xxviii 베타리더 후기
29 C H A P T E R 1 개요 이 책은 최신 버전의 안드로이드 스튜디오(Android Studio)와 안드로이드 SDK(Software Development Kit)를 사용해서 안드로이드 애플리케이션(application, 줄여서 app)을 개발하는 데 필 요한 기법을 가르쳐 준다. 안드로이드 스튜디오는 안드로이드 애플리케이션을 개발할 때 사용 하는 통합 개발 환경(IDE, Integrated Development Environment)이다. 우선은 안드로이드 애플리케이션을 개발하고 테스트하는 환경을 구축하는 데 필요한 내용을 설명한다. 그리고 안드로이드 스튜디오의 주요 기능과 사용법을 살펴본다. 예를 들어, 각종 도 구 창, 코드 편집기, 디자이너 도구와 같은 것들이다. 또한, 안드로이드 스튜디오 2.0 버전부터 새로 도입된 기능인 인스턴트 런(Instant Run)과 향상된 AVD(Android Virtual Device) 에뮬레이터 도 살펴본다. 그다음에 안드로이드의 아키텍처를 간략히 살펴본 후 안드로이드 스튜디오를 사용해서 애플 리케이션과 사용자 인터페이스를 설계하고 만드는 방법들을 자세히 알아볼 것이다. 이때 데이 터베이스, 콘텐트 제공자(content provider), 인텐트(intent)와 같은 여러 고급 주제들도 다룬다. 또 한, 터치 스크린 처리, 제스처 인식, 카메라 사용, 비디오와 오디오의 재생과 녹화 방법도 설명 한다. 그리고 인쇄, 애니메이션 화면 전환, 클라우드 기반 파일 스토리지도 다룬다. 이러한 보편적인 안드로이드 애플리케이션 개발 기법들 외에도 이 책에서는 구글 플레이 (Google Play)와 연관된 내용들도 설명한다. 구글 맵(Google Map) API를 사용한 지도 구현이 1
30 라든지, 구글 플레이 개발자 콘솔에 우리가 만든 애플리케이션을 게시하고 인앱 결제(in-app billing)를 하는 방법 등이다. 또한, 애플리케이션 프로젝트 파일들을 구성 및 관리하고 빌드(build)하기 위해 안드로이드 스 튜디오에서 플러그인하여 사용하는 자동화 프로젝트 시스템(도구)인 그래들(Gradle)에 대해서 도 살펴본다. 그리고 안드로이드 버전 5에 소개된 머티리얼(material) 디자인의 개념과 안드로이드 버전 6에 서 완벽하게 구현된 머티리얼 사용자 인터페이스도 설명한다. 즉, 플로팅 액션 버튼(floating action button), 스낵바(Snackbar), 탭 인터페이스(tabbed interface), 카드 뷰(card view), 내비게이션 드로어(navigation drawers), 컬랩싱 툴바(collapsing toolbar) 등이다. 또한, 변경된 퍼미션 메커니즘 과 지문 인식 구현 방법도 알아본다. 이 책에서는 여러분이 자바(Java) 프로그래밍을 해본 경험이 있다고 간주하므로 자바 언어에 관한 언급은 따로 하지 않을 것이다. 그리고 윈도우(Windows)나 맥(Mac) 또는 리눅스(Linux)가 실행되는 컴퓨터가 있고 안드로이드 스튜디오와 안드로이드 SDK를 다운로드 및 설치할 수 있 으면 시작 준비가 된 것이다. 이 책의 모든 본문과 그림 및 프로젝트 코드는 안드로이드 스튜디오 최신 버전을 사용하 여 작성되었다. 따라서 독자 여러분이 안드로이드 스튜디오를 사용한 안드로이드 프로그래밍 을 배우는 데 어려움이 없을 것이다. 1.1 안드로이드 스튜디오의 장점 안드로이드 스튜디오에서는 종전의 이클립스 IDE보다 훨씬 강력하고 특화된 기능을 제공한 다. 그리고 앞으로 구글에서는 구글 클라우드 플랫폼(Google Cloud Platform)과 연계시켜 더욱 확장된 기능을 제공할 것이다. 중요한 것만 요약하면 다음과 같다. 유연성이 좋은 그래들 (Gradle) 기반의 자동화 프로젝트 빌드 시스템을 사용한다(이클립스에 서는 Ant 사용). 하나의 프로젝트 코드로 여러 안드로이드 장치용 애플리케이션을 구현할 수 있다. 이 기 능은 안드로이드 웨어(Android Wear)에서 특히 유용하다. 구글의 각종 서비스와 다양한 장치 유형을 지원하는 각종 템플릿들이 있어서 프로젝트에 필요한 기본적인 코드와 파일들을 자동으로 생성해준다. 2 CHAPTER 1 개요
31 그래픽 레이아웃 편집기의 기능이 강력하고 사용하기 쉬워서 사용자 인터페이스 디자인이 편리하다. 코드의 성능이나 버전 호환성 및 기타 문제점을 잡아내는 Lint의 기능이 강화되었다. 구글 클라우드 플랫폼을 자체적으로 지원하여 구글 클라우드 메시징/앱 엔진과 쉽게 통합 할 수 있다. 우리의 코드를 사전에 분석하여 완성도를 보완해주고 리팩토링 (refactoring)을 해주는 각종 분석 도구를 지원한다. 1.2 소스 코드 다운로드하기 이 책에 나오는 각종 예제의 안드로이드 스튜디오 프로젝트 파일들은 다음에서 다운로드할 수 있다. URL 예제 프로젝트 코드를 안드로이드 스튜디오로 로드하는 절차는 다음과 같다 Welcome to Android Studio 대화상자에서 Open an existing Android Studio project를 선 택하거나 안드로이드 스튜디오 메인 메뉴의 File Open...을 선택한다. 프로젝트 선택 대화상자가 나오면 열려는 프로젝트 관련 파일들이 있는 서브 디렉터리 (프 로젝트 이름과 동일함)를 선택하고 OK를 클릭한다. 333 Sync Android SDKs 대화상자가 나오면 OK를 클릭한다 (열려는 프로젝트에 지정되어 있는 안드 로이드 SDK 설치 디렉터리와 현재 사용 중인 컴퓨터의 안드로이드 SDK 설치 디렉터리가 달라서 이 대 화상자가 나오는 것이다. OK를 클릭하면 현재 사용 중인 컴퓨터의 안드로이드 SDK 설치 디렉터리가 프로젝트의 디폴트로 사용된다). 444 프로젝트가 로드된 후 아무 창도 열려 있지 않으면 Alt와 숫자 1[맥 OS X에서는 Cmd와 숫자 1] 키를 같이 눌러 프로젝트 도구 창을 연 후 필요한 파일을 편집기 창으로 로드한다. 이 책의 모든 실습 프로젝트는 최소 SDK 버전이 API 22: Android 5.1(Lollipop) 또는 API 23: Android 6.0(Marshmallow)로 지정되어 있다. 그리고 애플리케이션으로 실행할 때는 AVD 에 뮬레이터와 삼성 갤럭시 S6 엣지 스마트폰을 같이 사용하였다. 만일 다운로드한 프로젝트 소스를 에뮬레이터가 아닌 각자의 스마트폰이나 태블릿으로 실행하고자 할 때는 그 장치의 1.2 소스 코드 다운로드하기 3
32 안드로이드 버전과 같거나 또는 낮은 버전으로 최소 SDK 버전을 변경해야 한다. 이때는 프로 젝트 도구 창의 Gradle Scripts build.gradle (Module: app) 파일을 더블 클릭하여 편집기에 로드한 후, minsdkversion 번호를 해당 안드로이드 버전의 API 레벨 번호로 수정하고 실행하 면 된다(그림 1-1). 그림 1-1 또한, 이 책의 실습 프로젝트 애플리케이션을 에뮬레이터에서 실행할 때 한글로 입출력하고 싶다면 부록 A의 에뮬레이터에서 한글 처리 를 참조하자. 1.3 단축키와 코드 표기 이 책에서는 두 개 이상의 키보드 키를 누를 때 + 기호로 나타내었다. 예를 들어, Alt 키와 Enter 키를 같이 누를 때는 Alt + Enter로 표기하였다. 또한, 단축 키는 윈도우 키[맥 OS X 키]의 형태로 표시되어 있다. 예를 들면 Alt + Enter[Option + Enter]. 소스 코드의 삭제는 글자 가운데를 가로지르는 취소선으로 표시하였으며, 추가되는 코드는 진 한 글씨로 나타내었다. 4 CHAPTER 1 개요
33 1.4 독자 A/S 여러분이 만족하는 책이 되었으면 한다. 혹시 오류를 발견하거나 문의 사항이 있으면 hanafos.com 혹은 메일을 보내 주기 바란다. 1.5 오탈자 이 책의 내용에 오류가 없도록 최선의 노력을 했지만, 혹시 오탈자가 있을지도 모르겠다. 그런 경우는 제이펍( 이 책 소개 페이지에 있는 정오표 코너에서 안내하도록 하겠다. 1.5 오탈자 5
34 C H A P T E R 2 안드로이드 스튜디오 개발환경구성하기 안드로이드 애플리케이션을 개발하기에 앞서 제일 먼저 할 일은 우리의 컴퓨터 시스템을 개발 플랫폼으로 구성하는 것이다. 그러기 위해서는 자바 JDK(Java Development Kit)와 안드로이드 스튜디오 IDE 및 안드로이드 SDK를 설치해야 한다. 단, 안드로이드 SDK는 안드로이드 스튜 디오 패키지에 포함되어 제공되므로 별도로 다운로드할 필요는 없다. 이 장에서는 그런 소프트웨어들의 다운로드와 설치에 대해 설명한다(윈도우, 맥 OS X, 리눅스 운 영체제 모두). 2.1 개발 시스템 요구 사항 안드로이드 애플리케이션 개발은 다음 중 어떤 운영체제에서도 가능하다(지원이 완전히 중단된 윈도우 XP 버전과 일반 지원이 중단된 윈도우 비스타의 경우도 현재는 가능하지만 앞으로는 사용하지 않 는 것이 좋다). 윈도우 7, 8, 10 (32비트 또는 64비트) 맥 OS X 이상(인텔 기반의 시스템) 리눅스 시스템: 2.15 버전 이상 또는 GNU C 라이브러리 (glibc) 이후 버전 그리고 필요한 하드웨어는 다음과 같다. 6
35 최소 2GB의 RAM(8GB 이상 권장) 4.5GB 이상의 디스크 공간 2.2 자바 JDK 설치하기 안드로이드 SDK는 자바 프로그래밍 언어를 사용해서 개발되었다. 마찬가지로, 안드로이드 애 플리케이션도 자바로 개발한다. 따라서 자바 JDK를 제일 먼저 설치해야 한다. 안드로이드 애플리케이션 개발 시 필요한 자바 JDK는 JDK SE(Standard Edition) 7 버전 이상이 면 된다. 그러나 앞으로는 안드로이드에서 자바 8 버전의 기능을 지원하는 Jack(Java Android Compiler Kit) 컴파일러를 사용하므로 최신 버전의 JDK를 설치해야 한다. 참고로, 안드로이 드 DEX 파일을 생성할 때 기존에는 javac(.java.class) dx(.class.dex)의 두 단계로 컴파일 하였지만, 새로운 Jack 컴파일러를 사용하면 (.java.jack.dex)의 형태, 즉 자바 바이트코드 (bytecode)가 생성되지 않고 한 번에 안드로이드 DEX 파일이 생성된다 윈도우에서 설치하기 다음의 오라클(Oracle) 사이트에서 최신 윈도우용 JDK를 다운로드하자. URL 이 웹 페이지의 맨 앞에 나오는 것이 최신 버전이다. JDK DOWNLOAD 버튼을 클릭하면 다 운로드 페이지가 나올 것이다. 거기에서 Accept License Agreement를 클릭한 후, Windows x86(32비트) 또는 Windows x64(64비트)용 exe 파일을 클릭하여 다운로드하면 된다. 그리고 다 운로드된 exe를 실행시켜 설치하자(설치할 위치만 지정하면 되므로 간단하다). 설치가 끝나면 다음과 같은 절차로 Path와 JAVA_HOME 두 개의 환경 변수를 지정한다 (윈도우 7). 111 시작 메뉴의 컴퓨터에서 오른쪽 마우스 버튼을 클릭한 후 속성을 선택한다. 222 시스템 창에서 고급 시스템 설정 클릭 고급 탭 선택 환경 변수 버튼을 누른다. 333 환경 변수 대화상자에서 시스템 변수의 새로 만들기 버튼을 누른다. 변수 이름은 JAVA_ HOME으로 입력하고(모두 대문자임에 유의), 변수 값은 JDK가 설치된 디렉터리를 입력한 후 확인 버튼을 누른다. 2.2 자바 JDK 설치하기 7
36 예를 들어, JDK가 C:\Program Files\Java\jdk1.8.0_77에 설치되었다면 다음을 입력한다. C: Program Files Java jdk1.8.0_77 만일 JAVA_HOME 변수가 이미 있다면 편집 버튼을 누르고 변수 값만 변경한다. 444 그다음에는 시스템 변수의 Path 변수를 찾고 편집 버튼을 누른다. 문자열의 맨 끝에 다음 을 추가한다. ;%JAVA_HOME% bin 이때 문자열의 맨 끝에 세미콜론(;)이 없다면 이처럼 제일 앞에 세미콜론(;)을 붙여야 한다. 555 각 대화상자에서 확인 버튼을 눌러 속성 창을 닫는다. 윈도우 8.1에서는 다음과 같이 환경 변수를 지정한다. 111 시작 화면에서 화면의 오른쪽 아래 모서리로 마우스 커서를 이동한 후, 메뉴의 검색 (Search)을 선택하고 제어판(Control Panel)을 입력한다. 검색 결과에서 제어판 아이콘이 나타 나면 클릭한다. 222 제어판 창이 열리면 오른쪽 위의 범주(Category)를 큰 아이콘(Large Icons)으로 선택한다. 그 리고 아이콘 목록에서 시스템(System)을 선택한다. 333 앞에서 설명한 2번부터 5번까지를 똑같이 수행한다. 윈도우 10에서는 다음과 같이 환경 변수를 지정한다. 111 바탕 화면에서 시작 버튼을 클릭하고 메뉴의 설정을 선택한다. 222 시스템 버튼을 클릭하고 왼쪽 제일 밑의 정보를 클릭한다. 333 앞에서 설명한 2번부터 5번까지를 똑같이 수행한다 맥 OS X에서 설치하기 맥 OS X 최신 버전에는 기본적으로 자바가 설치되어 있지 않다. 자바의 설치 유무를 확인하 기 위해 터미널 창(terminal window)을 열고 다음 명령을 실행해보자. java -version 8 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
37 혹시 이전에 자바를 설치한 적이 있다면 다음과 같은 내용이 터미널 창에 나타날 것이다. java version "1.8.0_77" Java(TM) SE Runtime Environment (build...) Java HotSpot(TM) 64-Bit Server VM (build..., mixed mode) 그러나 자바가 설치되지 않은 경우는 오라클 자바 웹 페이지를 보여주는 More Info 버튼이 있 는 대화상자와 함께 다음 메시지가 나타난다. No Java runtime present, requesting install 오라클 자바 웹 페이지에 접속하여 맥 OS X용 자바 SE 8을 다운로드하자. 그리고 다운로드된 디 스크 이미지(.dmg 파일)를 열고 아이콘을 더블 클릭하여 자바 패키지를 설치한다(그림 2-1 참조). 그림 2-1 Java for OS X 인스톨러 창이 나타나고 JDK 설치가 진행될 것이다. 그리고 설치가 완료되면 터 미널 창에서 다음 명령을 실행하자. 앞에서처럼 자바 버전 정보가 터미널 창에 나올 것이다. java -version 2.2 자바 JDK 설치하기 9
38 2.3 리눅스에서 설치하기 만일 우분투(Ubuntu) 64비트 버전이 실행 중인 시스템이라면 다음과 같이 32비트 라이브러리 지원 패키지를 먼저 설치해야 한다. sudo apt-get install lib32stdc++6 그리고 윈도우 시스템에서처럼 다음의 오라클 웹사이트에서 리눅스용 자바 JDK 패키지를 다 운로드하자. URL 리눅스 JDK 패키지는 두 가지 형태로 제공된다. 레드햇 엔터프라이즈(Red Hat Enterprise) 리눅 스, 페도라(Fedora), 센트OS(CentOS) 등의 레드햇 기반 리눅스 시스템에 설치하기 위한 RPM 포 맷과 우분투와 같은 다른 리눅스 시스템을 위한 tar 포맷이다. 레드햇 기반 리눅스 시스템에서는.rpm JDK 파일을 다운로드한 후에 터미널 창에서 rpm 명 령을 사용하여 설치한다. 예를 들어, 다운로드한 JDK 파일의 이름이 jdk-8u77-linux-x64.rpm 이라면 설치하는 명령은 다음과 같다. su rpm -ihv jdk-8u77-linux-x64.rpm tar 압축 패키지를 사용해서 설치할 때는 다음과 같이 하면 된다. 111 JDK를 설치할 디렉터리를 생성한다. 예를 들어, 여기서는 /home/demo/java로 할 것이다. 222 오라클 웹사이트에서 각자 시스템에 적합한 tar.gz 패키지를 다운로드한다 번의 디렉터리로 이동한 후 다음 명령을 실행한다. 여기서 <jdk-file>은 다운로드된 JDK 파일명으로 대체하면 된다. tar xvfz <jdk-file>.tar.gz 444 다운로드된 tar.gz 파일을 삭제한다. 555 JDK가 설치된 디렉터리 밑에 있는 bin 디렉터리 경로를 $PATH 변수에 추가한다. 만일 JDK를 설치한 디렉터리가 /home/demo/java/jdk1.8.0_77이면 다음 내용을 $PATH 환경 10 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
39 변수에 추가하면 된다. /home/demo/java/jdk1.8.0_77/bin 이 경우 우리 홈 디렉터리의.bashrc 파일에 하나의 명령을 추가하는 것이 일반적이다. 예를 들어, 우리 홈 디렉터리로 이동한 후 거기에 있는.bashrc 파일의 맨 끝에 다음 라인 을 추가하고 저장한다. export PATH=/home/demo/java/jdk1.8.0_77/bin:$PATH 이렇게 변경한 후에는 새로이 터미널 창을 열어 bash 셸(shell)을 사용할 때마다 JDK의 경로 가 $PATH 환경 변수에 포함될 것이다. 따라서 자바 컴파일러(javac)와 그 외의 각종 도구를 쉽게 사용할 수 있다. 2.4 안드로이드 스튜디오 패키지 다운로드하기 대부분의 안드로이드 애플리케이션 개발 작업은 안드로이드 스튜디오 환경에서 이루어진다. 안드로이드 스튜디오는 다음 웹 페이지에서 다운로드할 수 있다. URL 페이지 중앙의 DOWNLOAD ANDROID STUDIO FOR <각자 컴퓨터의 운영체제> 버튼을 누르면 접속한 컴퓨터의 운영체제에 맞는 최신 버전의 안드로이드 스튜디오 다운로드가 시작된다. 그 리고 그다음 화면에서 I have read and agree with the above terms and conditions 를 체크하 고 다운로드 버튼을 누르면 다운로드가 시작된다(파일 다운로드 대화상자가 나오는 경우는 저장 버 튼을 누르고 저장할 위치를 지정하면 된다). 2.5 안드로이드 스튜디오 설치하기 다운로드된 패키지에는 안드로이드 스튜디오와 안드로이드 SDK 및 플러그인 모두가 포함되 어 있어서 이것을 안드로이드 스튜디오 번들(bundle)이라고 한다. 따라서 다운로드된 패키지를 설치하면 한 번에 모두 설치되어 안드로이드 스튜디오에서 바로 애플리케이션 개발을 시작할 수 있다. 설치하는 방법은 운영체제에 따라 다르며 그 내용은 다음과 같다(최신 컴포넌트가 필요 할 때 실시간으로 다운로드되므로 인터넷 접속이 가능한 상태로 설치해야 한다). 2.5 안드로이드 스튜디오 설치하기 11
40 2.5.1 윈도우에서 설치하기 다운로드된 안드로이드 스튜디오 설치 파일(android-studio-bundle-<버전번호>-windows.exe)을 윈 도우 탐색기 창에서 찾은 후 더블 클릭하여 실행시키면 설치가 시작된다. 설치 절차는 간단 하고 쉬우며, 다음과 같다. 그림 2-2의 안드로이드 스튜디오 설치 대화상자가 나타나면 Next 버튼을 누른다. 그림 2-2 그러면 설치할 컴포넌트를 선택할 수 있는 대화상자가 나타난다(그림 2-3). 그림 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
41 안드로이드 스튜디오는 기본적으로 설치가 되며, AVD(Android Virtual Device)는 5장에서 생성할 것이므로 체크를 지우자. 그리고 안드로이드 SDK는 이미 설치된 것이 없을 때만 체크하면 된 다. Next 버튼을 누르면 안드로이드 SDK의 License Agreement 대화상자가 나타난다(그림 2-4). 그림 2-4 I Agree 버튼을 누른다. 그다음에는 안드로이드 스튜디오를 설치할 위치와 안드로이드 SDK를 설치할 위치를 지정할 수 있는 대화상자가 나타난다(그림 2-5). 그림 2-5 (이미 설치된 안드로이드 SDK를 사용하기 위해 그림 2-3에서 안드로이드 SDK의 체크를 지운 경우는 그림 2-5 대신 그 SDK의 위치를 지정하는 대화상자와 안드로이드 스튜디오의 설치 위치를 지정하는 대화상자 가 따로 나타난다.) 2.5 안드로이드 스튜디오 설치하기 13
42 여기에 나타난 디폴트 디렉터리에 설치해도 되고 Browse... 버튼을 눌러 위치를 변경해도 된다. Next 버튼을 누르면 시작 메뉴 폴더를 지정하는 대화상자가 나타난다(그림 2-6). Install 버튼을 누르면 설치가 시작된다. 그림 2-6 설치가 정상적으로 끝나면 그림 2-7의 대화상자가 나타나며, Next 버튼을 누르면 그림 2-8의 설치 완료 대화상자가 나타난다. 여기서는 기본적으로 Start Android Studio가 체크되어 있으 므로 Finish 버튼을 누르면 안드로이드 스튜디오가 최초로 실행된다. 이후의 설명은 더 뒤의 2.6 안드로이드 스튜디오 설정 위저드 절을 참조한다. 그림 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
43 그림 2-8 안드로이드 스튜디오 실행 파일은 32비트 버전(studio.exe)과 64비트 버전(studio64.exe)으로 제공 되므로 각자 시스템에 적합한 것을 사용해야 한다 맥 OS X에서 설치하기 맥 OS X 버전의 안드로이드 스튜디오는 디스크 이미지 파일(.dmg)로 다운로드된다. 다운로드 가 완료되면 파인더(Finder) 창에서 그 파일(android-studio-ide-<버전 번호>-mac.dmg)을 찾아서 더 블 클릭하자. 그러면 그림 2-9와 같이 보일 것이다. 그림 안드로이드 스튜디오 설치하기 15
44 설치는 간단하다. Android Studio 아이콘을 마우스로 끌어서 응용 프로그램 폴더에 놓으면 된 다. 그러면 안드로이드 스튜디오 패키지가 시스템의 응용 프로그램 폴더에 설치될 것이다. 설치된 안드로이드 스튜디오를 실행할 때는 파인더 창을 사용해서 응용 프로그램 폴더에 있는 실행 파일을 찾아 더블 클릭하면 된다. 그리고 더 쉽게 실행시키려면 파인더 창의 안드로이드 스튜디오 실행 파일 아이콘을 마우스로 끌어서 Dock에 넣으면 된다(Dock은 윈도우 시스템의 작 업 표시줄과 유사하다). 안드로이드 스튜디오를 실행할 때 JVM을 찾을 수 없다는 에러 대화상자가 나타날 수 있다. 이 경우에는 Mac OS X 자바 6 JRE 패키지를 다운로드하고 설치할 필요가 있다. 이때는 다음 링크에 접속하여 애플 사이트에서 다운로드하면 된다. URL 그리고 OS X 자바 패키지가 설치되면 안드로이드 스튜디오가 에러 없이 실행될 것이다 리눅스에서 설치하기 터미널 창을 열고 안드로이드 스튜디오를 설치할 디렉터리로 이동한 후에 다음 명령을 실행 한다. unzip /<패키지 경로>/android-studio-ide-<버전 번호>-linux.zip 다운로드된 안드로이드 스튜디오 번들 패키지는 android-studio라는 서브 디렉터리에 설치된 다. 따라서 이 명령이 /home/demo 디렉터리에서 실행되었다면 /home/demo/android-studio 밑에 압축이 풀려 설치될 것이다. 설치된 안드로이드 스튜디오를 실행할 때는 터미널 창을 열고 android-studio/bin 서브 디렉터 리로 이동한 후 다음 명령을 실행하면 된다../studio.sh 리눅스 시스템에서는 안드로이드 스튜디오 설치가 끝난 후에 다음과 같이 자바 JDK의 위치를 지정해야 한다. 16 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
45 111 안드로이드 스튜디오를 실행하면 그림 2-11의 웰컴 스크린이 나타난다. 222 대화상자의 오른쪽 아래에서 Configure Project Defaults Project Structure를 선택한다. 333 JDK가 설치된 전체 경로를 JDK location 필드에 입력한다. 444 Apply 버튼을 누른 후 다시 OK 버튼을 눌러 대화상자를 닫는다. 2.6 안드로이드 스튜디오 설정 위저드 안드로이드 스튜디오가 설치된 후 처음 실행될 때는 이전 버전의 안드로이드 스튜디오 설정 내역을 가져오기 위한 옵션을 제공하는 대화상자가 나타날 수 있다. 만일 여러분의 컴퓨터에 이전 버전의 안드로이드 스튜디오가 설치된 적이 있어서 새로 설치한 최신 버전에 그것의 설 정 내역을 가져오고자 한다면, 그 대화상자에서 I want to import my settings from a custom location 을 선택한다. 그러나 처음 설치하거나 이전 설정 내역이 필요 없는 경우는 I do not have a previous version of Android Studio or I do not want to import my settings 를 선택한다. 그다음에 OK 버튼을 누른다. 이어서 나타나는 대화상자에서 계속 Next 버튼을 누르면 그림 2-10의 설치 확인 대화상자가 나타난다. 그리고 Finish 버튼을 누르면 최신 버전의 각종 컴포넌트(SDK 포함)를 다운로드 및 업데이트한다. 그림 안드로이드 스튜디오 설정 위저드 17
46 모든 설치 작업이 끝나면 그림 2-11과 같은 안드로이드 스튜디오 웰컴 스크린(Welcome to Android Studio)이 나타날 것이다. 이후에 안드로이드 스튜디오를 실행할 때는 Setup Wizard가 나타나지 않고 곧바로 웰컴 스크린이 나타난다. 그림 가장 최신 버전의 안드로이드 SDK 패키지 설치하기 지금까지는 자바 JDK와 안드로이드 스튜디오 IDE 및 안드로이드 SDK를 설치하였다. 이제는 필요한 패키지들이 제대로 설치되었는지 그리고 누락된 패키지는 없는지를 확인해야 한다. 또 한, SDK의 다른 버전들(최신 버전 포함)도 추가로 설치 또는 제거할 수 있다. 그런 작업은 안드로이드 SDK에 포함된 도구(소프트웨어)인 안드로이드 SDK 매니저가 해주며, 안드로이드 스튜디오에서 메뉴로 선택하여 실행할 수 있다. 안드로이드 SDK의 각종 도구가 안드로이드 스튜디오에 플러그인되어 있기 때문에 애플리케이션 개발에 필요한 모든 작업을 안드로이드 스튜디오를 벗어나지 않고 쉽게 할 수 있는 것이다. 프로젝트가 열려 있는 안드로이드 스튜디오 메인 메뉴의 Tools Android SDK Manager를 선택하거나, File Settings... Appearance & Behavior System Settings Android SDK를 선택하면 그림 2-12와 같이 SDK 설정 대화상자가 나타난다. 그리고 제일 위에는 SDK가 설치 된 위치를 보여준다. 18 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
47 그림 2-12 위에 있는 Android SDK Location의 오른쪽 Edit 버튼을 누르면 SDK가 설치된 위치를 변경할 수 있다. 그리고 설치 또는 삭제할 컴포넌트는 탭으로 분류되어 있다. SDK Platforms 탭을 누 르면 안드로이드 시스템의 컴포넌트들을 선택할 수 있으며, SDK Tools 탭을 누르면 각종 도구 를 선택할 수 있다. SDK Update Sites 탭에서는 업그레이드할 것이 있는지 SDK 매니저가 확인 하는 사이트를 선택할 수 있다. 탭 아래에는 설치나 삭제할 수 있는 컴포넌트들을 보여주며, 오른쪽 밑의 Show Package Details를 체크하면 상세한 내역이 나타난다. 제일 오른쪽의 Status에서는 해당 컴포넌트가 설치되었는지(Installed) 또는 아닌지(Not installed) 의 여부와 업그레이드 버전(Update available)이 있는지를 보여준다. 또한, 설치되지 않은 컴포넌 트의 제일 왼쪽 체크상자를 선택하면 설치하라는 의미이며, 설치된 항목의 체크를 지우면 삭 제를 나타낸다. 그리고 선택이 끝나고 Apply 버튼을 누르면 작업을 할 것인지의 여부를 확인 받은 후 대화상자가 추가로 나타나서 컴포넌트 설치 작업 진행 내역을 알려준다. 그림 2-12에서 왼쪽 밑의 Launch Standalone SDK Manager를 클릭하면 독립된 창으로 실행되 는 SDK 매니저가 나타난다. 여기서는 그림 2-12의 SDK Platforms와 SDK Tools 탭에서 하는 기능을 모두 처리할 수 있다. 2.7 가장 최신 버전의 안드로이드 SDK 패키지 설치하기 19
48 그림 2-13 우선 다음에 열거한 패키지들의 Status 열에 Installed(설치됨)로 나와 있는지를 확인한다. Tools Android SDK Tools Tools Android SDK Platform-tools Tools Android SDK Build-tools (가장 최신 버전의) Android 버전 SDK Platform (가장 최신 버전의) Android 버전 ARM EABI v7a System Image, Intel x86 Atom System Image (가장 최신 버전의) Android 버전 Documentation for Android SDK: 애플리케이션 개발 시에 수시로 참조할 API 문서 등이 있으므로 설치하는 것이 좋다. 안드로이드 SDK가 설 치된 디렉터리 밑의 \docs 서브 디렉터리에 각종 문서 파일들이 저장된다. Extras Android Support Repository Extras Android Support Library Extras Google Repository Extras Google USB Driver(윈도우 시스템에서만 필요함) 20 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
49 Extras Intel x86 Emulator Accelerator(HAXM installer) 위의 패키지들 중 Not Installed(설치 안 됨)로 나온 것이 있을 때는 해당 패키지의 체크상자를 체 크한 후 맨 오른쪽 밑의 Install packages... 버튼을 누르면 패키지 설치 대화상자가 나타난다. 그 리고 Accept License를 선택하고 Install 버튼을 누르면 설치가 시작되며, 우리가 지정한 패키지를 SDK 매니저가 다운로드하고 설치한다. 이때 진행 상태를 SDK 매니저 창 맨 아래쪽에 보여준다. 설치가 끝나면 선택한 패키지들의 Status 열에 모두 Installed로 나와 있는지 확인하자. 만일 여전히 Not installed로 나오는 것이 있으면 그 패키지가 선택되었는지 다시 확인 후에 Install packages... 버튼을 눌러 추가로 설치한다(서로 다른 종류의 여러 패키지를 한 번에 선택해서 설치할 때는 패키지마다 Accept License를 따로 받으므로 Install 버튼을 여러 번 눌러야 되는 경우가 있다). 2.8 명령행에서 안드로이드 SDK 도구 사용하기 안드로이드 애플리케이션을 개발하기 위해서는 여러 도구(유틸리티 프로그램)들이 필요하다. 예 를 들어, 앞에서 설명했던 SDK 매니저와 같은 도구들이다. 안드로이드 SDK에는 API 라이브 러리 외에 그런 도구들이 실행 파일로 같이 제공된다. 애플리케이션을 개발하는 과정에서 그 런 도구들을 우리가 일일이 찾아서 명령행(command-line)에서 따로따로 실행시켜야 한다면 무 척 불편할 것이다. 따라서 안드로이드 스튜디오에서는 그런 도구들을 플러그인하여 우리가 스 튜디오 환경을 벗어나지 않아도 쉽게 실행할 수 있도록 해준다. 그러나 때로는 그런 도구들을 명령 프롬프트 창(윈도우 시스템)이나 터미널 창(리눅스나 맥 OS X 시스템)의 명령행에서 우리가 직접 실행해야 할 때가 있다. 그때는 운영체제에서 실행 파일을 쉽게 찾을 수 있도록 그런 도 구들이 있는 디렉터리 경로를 시스템의 PATH 환경 변수에 지정해야 한다. 다음 경로를 PATH 변수에 추가하자. 여기서 <path_to_android_sdk_installation>은 안드로이드 SDK가 설치된 파일 시스템 위치를 나타낸다(여기서 맥 OS X이나 리눅스의 경우는 \ 대신 / 사용). <path_to_android_sdk_installation>\tools <path_to_android_sdk_installation>\platform-tools 각자 시스템에 설치된 SDK의 위치는 SDK 설정 창의 위를 보면 알 수 있다. 예를 들어, 윈도 우 시스템에서는 그림 2-14와 같다. 2.8 명령행에서 안드로이드 SDK 도구 사용하기 21
50 그림 2-14 PATH 변수에 추가하는 방법은 사용 중인 운영체제에 따라 다르며 그 내용은 다음과 같다 윈도우 시작 메뉴의 컴퓨터에서 오른쪽 마우스 버튼을 클릭한 후 속성을 선택한다 (윈도우 10에서는 바탕 화면의 시작 버튼 클릭 설정 선택 시스템 버튼 클릭 왼쪽 제일 밑의 정보 클릭). 222 고급 시스템 설정을 클릭하고 고급 탭을 선택한 후 환경 변수 버튼을 누른다. 333 환경 변수 대화상자에서 시스템 변수의 Path 변수를 찾고 편집 버튼을 누른다. 문자열의 맨 끝에 바로 위의 두 가지 경로를 추가한다. 이때 각 경로는 세미콜론(;)으로 구분해야 한다 는 것에 유의하자. 예를 들어, 안드로이드 SDK가 C:\Users\demo\AppData\Local\Android\ sdk에 설치되었다면 Path 변수 끝에 다음을 추가하면 된다. ;C:\Users\demo\AppData\Local\Android\sdk\platform-tools; C:\Users\demo\AppData\Local\Android\sdk\tools 444 각 대화상자에서 확인 버튼을 눌러서 속성 창을 닫는다. 그러면 path 지정이 잘 되었는지 확인해보자. 명령 프롬프트 창을 열고 다음 명령을 실행한다. echo %Path% 반환되는 path 변수의 값에 안드로이드 플랫폼 도구의 경로가 포함되어 있어야 한다. 그리고 다음과 같이 adb를 실행시켜서 SDK의 platform-tools 경로가 잘 지정되었는지 확인해보자. adb 제대로 실행되면 지정 가능한 명령행 옵션들의 내역을 보여줄 것이다. 마찬가지로, 안드로이드 SDK 매니저를 실행시켜서 SDK의 tools 경로가 잘 지정되었는지 확인하자. 22 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
51 android 이 두 가지 명령 중 어느 하나라도 다음과 같은 메시지가 나온다면 Path 환경 변수에 추가한 경로가 잘못된 것이다. 'adb'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다 윈도우 시작 화면에서 화면의 오른쪽 아래 모서리로 마우스 커서를 이동한 후 메뉴의 검색(Search) 을 선택하고 제어판(Control Panel)을 입력한다. 검색 결과에서 제어판 아이콘이 나타나면 클 릭한다. 222 제어판 창이 열리면 오른쪽 위의 범주(Category)를 큰 아이콘(Large Icons)으로 선택한다. 그리 고 아이콘 목록에서 시스템(System)을 선택한다. 333 앞의 2.8.1절에서 설명한 2번부터 4번까지를 똑같이 해준다. 그다음에는 path 지정이 잘 되었는지 확인해보자. 화면의 오른쪽 밑 모서리로 마우스 커서를 이동한 후 검색을 선택하고 cmd를 입력한다. 검색 결과에서 명령 프롬프트를 선택하여 명령 프롬프트 창을 연다. 그리고 명령 프롬프트 창에서 다음 명령을 실행한다. echo %Path% 반환되는 path 변수의 값에 안드로이드 플랫폼 도구의 경로가 포함되어 있어야 한다. 그리고 다음과 같이 adb를 실행시켜서 SDK의 platform-tools 경로가 잘 지정되었는지 확인해보자. adb 제대로 실행되면 지정 가능한 명령행 옵션들의 내역을 보여줄 것이다. 마찬가지로, 안드로이드 SDK 매니저를 실행시켜서 SDK의 tools 경로가 잘 지정되었는지 확인하자. android 2.8 명령행에서 안드로이드 SDK 도구 사용하기 23
52 2.8.3 리눅스 리눅스에서는 자바 JDK 설치 시 수정했던.bashrc 파일을 한 번 더 수정하면 된다. 안드로이드 SDK가 /home/demo/android/sdk에 설치되었다면.bashrc 파일의 export 라인을 다음과 같이 수정하면 된다. export PATH=/home/demo/java/jdk1.8.0_77/bin:/home/demo/ Android/sdk/platformtools:/home/demo/Android/sdk/tools:/home/demo/android-studio/ bin:$path 맨 끝에 android-studio/bin 디렉터리를 추가한 것에 유의하자. 안드로이드 스튜디오를 실행 시키는 studio.sh 스크립트를 터미널 창의 현재 디렉터리와 관계없이 실행할 수 있게 하기 위 함이다 맥 OS X 맥 OS X에서 $PATH 환경 변수를 변경하는 방법은 여러 가지가 있을 수 있다. 그중에서 가장 확실한 방법은 $PATH에 추가될 경로를 포함하는 새로운 파일을 /etc/paths.d 디렉터리에 추 가하는 것이다. 안드로이드 SDK를 설치한 위치가 /Users/demo/Library/Android/sdk라고 한다 면, 다음 두 라인을 포함하는 android-sdk라는 파일을 /etc/paths.d 디렉터리에 생성하여 경로 를 구성할 수 있다. /Users/demo/Library/Android/sdk/tools /Users/demo/Library/Android/sdk/platform-tools 이것은 시스템 디렉터리이므로 파일을 생성할 때 sudo 명령을 사용해야 한다는 것에 유의하 자. 예를 들면, 다음과 같다. sudo vi /etc/paths.d/android-sdk 2.9 안드로이드 스튜디오와 SDK 버전 업그레이드하기 종종 안드로이드 스튜디오와 안드로이드 SDK의 새로운 릴리스(release)가 나오곤 한다. SDK의 경우는 그림 2-12에서 설명한 SDK 설정 대화상자를 사용하여 업그레이드한다. 24 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기
53 안드로이드 스튜디오의 경우는 다음 두 가지 중 한 가지 방법으로 업그레이드한다. 안드로이 드 스튜디오 웰컴 스크린 아래쪽의 Configure Check for Update를 클릭하거나, 프로젝트가 열려 있는 안드로이드 스튜디오 메인 메뉴에서 Help Check for Update...를 선택하면 된다. 안드로이드 스튜디오에서는 안드로이드 스튜디오 자체의 새로운 버전이 나왔거나 또는 안드로 이드 SDK 컴포넌트를 업그레이드할 것이 생기면 자동으로 통보해준다. 그리고 통보된 메시지의 Update 버튼을 클릭하면 SDK 매니저가 실행되어 우리가 원하는 것을 업그레이드할 수 있다 안드로이드 SDK와 자바 JDK 설치 경로 변경하기 안드로이드 스튜디오를 설치하고 사용하다가 여러 이유로 안드로이드 SDK나 자바 JDK의 설 치 경로를 변경할 경우가 있을 수 있다. 예를 들어, 자바 JDK의 새로운 버전을 다른 경로에 설 치하고 그것을 안드로이드 스튜디오에서 사용하고자 할 경우다. 이때는 변경된 경로를 안드로 이드 스튜디오에게 알려주어야 한다. 그 방법은 간단하다. 우선, 안드로이드 스튜디오를 실행시키면 웰컴 스크린이 나타난다. 그리 고 아래쪽의 Configure Project Defaults를 클릭한 후 Project Structure를 선택하면 안드로이 드 SDK와 자바 JDK의 설치 경로를 변경할 수 있는 대화상자가 나타난다. 그다음에 오른쪽의 버튼( )을 눌러 원하는 경로로 변경한 후 OK 버튼을 누르면 된다. 이렇게 경로를 변경하면 이후의 모든 안드로이드 스튜디오 프로젝트에 이 설정이 적용되어 처리된다. 안드로이드 스튜디오에서 프로젝트가 열려 있을 때는 메인 메뉴의 File Project Structure를 선택하면 된다 요약 안드로이드 애플리케이션을 개발하기에 앞서 제일 먼저 할 일은 자신에게 맞는 개발 환경을 구축하는 것이다. 그러기 위해서는 자바 JDK, 안드로이드 SDK, 안드로이드 스튜디오를 설치 해야 한다. 이번 장에서는 세 가지 운영체제(윈도우, 맥 OS X, 리눅스)에 필수 패키지들을 설치하 는 데 필요한 내용을 알아보았다 요약 25
54 C H A P T E R 3 안드로이드 스튜디오로 첫번째애플리케이션만들기 안드로이드 스튜디오를 사용해서 안드로이드 애플리케이션 개발에 적합한 환경을 구성하는 데 필요한 내용을 앞의 두 장에서 알아보았다. 본격적인 애플리케이션 개발에 앞서 이제는 필 요한 개발 패키지들이 모두 설치되고 제대로 기능을 수행하는지 살펴볼 때가 되었다. 이럴 때 는 간단한 애플리케이션을 하나 만들어서 빌드(build)하고 실행해보는 것이 가장 좋은 방법이 다. 이번 장에서는 안드로이드 스튜디오를 사용해서 간단한 안드로이드 애플리케이션 프로젝 트 하나를 생성하는 방법을 설명할 것이다. 그리고 5장과 7장에서는 안드로이드 에뮬레이터 (emulator)와 실제 장치를 사용해서 우리의 애플리케이션을 실행시키는 방법을 알아볼 것이다. 3.1 새로운 안드로이드 프로젝트 생성하기 앱 개발 시 제일 먼저 할 일은 안드로이드 스튜디오에서 새로운 프로젝트를 만드는 것이다. 안 드로이드 스튜디오를 실행시키자. 그러면 그림 3-1과 같은 안드로이드 스튜디오 웰컴 스크린 (Welcome to Android Studio)이 나올 것이다. 26
55 그림 3-1 이 대화상자가 나오면 새로운 프로젝트를 생성할 준비가 된 것이다. 여기서 Start a new Android Studio project를 클릭하면 그림 3-2와 같이 새 프로젝트를 구성하는 New Project 위 저드 대화상자가 나타난다. 그림 새로운 안드로이드 프로젝트 생성하기 27
56 3.2 프로젝트와 SDK 설정 정의하기 New Project(새 프로젝트) 창에서 Application name(애플리케이션 이름) 필드에 AndroidSample을 입력한다. 이것은 안드로이드 스튜디오 내부에서 참조와 식별에 사용되는 이름이다. 또한, 완 성된 애플리케이션을 구글 플레이(Google Play) 스토어에서 판매할 때 사용되는 애플리케이션 이름이기도 하다. Company Domain(회사 도메인) 필드에는 자신의 도메인 URL을 입력한다(www는 뺌). 만일 도메인 URL이 없다면 우리 애플리케이션을 테스트할 동안 이 책의 도메인 이름인 www. ebookfrenzy.com을 사용해도 좋다. 그러나 애플리케이션의 개발이 끝나고 구글 플레이 스토 어에 게시하기 전에는 수정해야 할 것이다. 여기서는 ebookfrenzy.com을 입력한다. Package name(패키지 이름)은 안드로이드 생태계 전체(구글 플레이 스토어 포함)에서 우리 애플 리케이션을 고유하게 식별하는 데 사용된다. 이름을 짓는 형식은 안드로이드 표준에 따르며, Company Domain 필드에 입력한 우리 도메인 URL을 거꾸로 하고 그 뒤에 애플리케이션 이 름이 붙어서 자동으로 생성된다. 따라서 여기서는 다음과 같이 된다(사이에 점을 넣고, 애플리케 이션 이름은 모두 소문자로 한다). com.ebookfrenzy.androidsample 패키지 이름을 굳이 변경하고자 한다면 패키지 이름 필드의 오른쪽 끝에 있는 Edit 버튼을 누 르고 값을 변경한 후에 Done 버튼을 누르면 된다. 그러나 그럴 필요는 거의 없을 것이다. Project location(프로젝트 위치) 필드는 우리 프로젝트의 모든 파일이 저장되고 관리되는 디렉 터리 경로를 나타낸다. 이 필드의 오른쪽 버튼을 눌러서 우리가 원하는 디렉터리로 변경 할 수 있다. 그리고 변경된 디렉터리는 우리 프로젝트의 홈 디렉터리가 되고, 그 밑에 앞에 서 지정한 애플리케이션 이름과 같은 이름의 서브 디렉터리가 생성되어 우리 프로젝트의 모 든 파일이 저장된다. 예를 들어, C:\AndroidStudioProjects를 홈 디렉터리로 지정하면 그 밑에 AndroidSample 서브 디렉터리가 생성되어 우리 프로젝트의 모든 파일이 저장된다(각자 자신의 홈 디렉터리를 만들어 사용하는 것이 좋을 것이다). 한번 입력했던 회사 도메인 값과 프로젝트 위치의 홈 디렉터리 값은 안드로이드 스튜디오에서 기억하고 있다가 다음번 새 프로젝트 생성 시에 기본값으로 보여준다. 28 CHAPTER 3 안드로이드 스튜디오로 첫 번째 애플리케이션 만들기
57 Next 버튼을 누르면 애플리케이션이 실행될 안드로이드 장치의 유형을 선택하는 화면이 나온 다. 여기서는 우리 애플리케이션을 구글의 어떤 안드로이드 플랫폼으로 개발할 것인지를 선택 한다(복수 개로 선택 가능). 또한, 우리 애플리케이션이 실행 가능한 각 플랫폼의 안드로이드 운 영체제 버전이 최소 얼마 이상이 되어야 하는지를 지정한다. 구글 폰(Phone)과 태블릿(Tablet)은 과거의 여러 안드로이드 버전부터 최신 버전(예를 들어, 안드 로이드 6.x 마시멜로) 중 선택이 가능하며, 구글 TV는 안드로이드 5.x 롤리팝 버전부터만 선택 가능하다. 그리고 구글 웨어(Wear)는 안드로이드 웨어 4.4W(KitKat Wear) 버전부터 선택 가능 하며, 구글 글래스는 안드로이드 4.0.4부터 선택 가능하다. 여기서는 폰과 태블릿(Phone and Tablet)만 선택하고, 최소(Minimum) SDK 버전은 API 22: Android 5.1 (Lollipop)으로 선택한다. 최소 SDK 버전을 더 오래된 것으로 선택하면 개발한 애 플리케이션이 훨씬 더 많은 안드로이드 장치에서 실행될 수 있다는 장점이 있다. 현재 사용 중 인 장치들의 안드로이드 운영체제 버전이 여러 가지이기 때문이다(반면에 최신 안드로이드 버전에 추가된 기능 중 일부는 사용할 수 없는 단점이 생길 수 있다). 그림 3-3 그림 3-3에서는 현재 시장에서 사용되는 장치들의 안드로이드 운영체제 버전을 백분율로 보 여준다(이 내용은 구글에서 정기적으로 업데이트한다). 예를 들어, 최소 SDK 버전을 2.2(Froyo)로 선 택하면 거의 모든 안드로이드 장치에서 애플리케이션을 실행시킬 수 있다. 그러나 우리 애플 리케이션에서 최신 버전에만 추가된 기능이 필요하다면 최소 SDK 버전을 그 버전으로 지정하 면 된다. 최소 SDK 버전을 선택하는 드롭다운(drop-down) 상자 아래의 설명 글 맨 끝에 있는 3.2 프로젝트와 SDK 설정 정의하기 29
58 Help me Choose 링크를 클릭하면 그림 3-3의 도표를 볼 수 있다. 그리고 도표에서 특정 API 레벨(안드로이드 운영체제 버전)을 클릭하면 그 버전에서 지원 가능한 기능을 보여준다. OK 버튼 을 누르면 다시 플랫폼 선택 화면으로 돌아온다(이 프로젝트 애플리케이션을 에뮬레이터가 아닌 각 자의 스마트폰이나 태블릿으로 실행하고자 할 때는 그 장치의 안드로이드 버전과 같거나 낮은 버전으로 최 소 SDK 버전을 지정해야 한다). 구글 TV와 구글 글래스(Glass) 및 웨어러블 플랫폼은 선택하지 말고 Next 버튼을 누른다(여기 서는 그런 장치에서 실행되는 애플리케이션을 개발하려는 것이 아니기 때문이다). 3.3 액티비티 생성하기 그다음에는 우리 애플리케이션이 실행될 때 제일 처음 실행될 액티비티(Activity)의 타입을 선 택한다. 안드로이드 애플리케이션에서는 다양한 타입의 액티비티를 사용할 수 있다. Empty, Master/Detail Flow, Google Maps, Navigation Drawer 액티비티는 이후의 다른 장에서 자세히 알아볼 것이다. 여기서는 Basic Activity를 선택하자. 이것을 선택하면 앱 바(app bar), 메뉴, 콘 텐트 영역, 플로팅 액션 버튼(floating action button)으로 구성되는 기본적인 액티비티 코드와 레 이아웃을 자동으로 생성해준다. 그리고 Next 버튼을 누른다(그림 3-4). 그림 3-4 새 프로젝트 생성의 마지막 화면이 나타난다(그림 3-5). Activity Name(액티비티 이름)에 AndroidSampleActivity를 입력한다. 액티비티 이름은 생성될 액티비티 클래스 이름을 나타내 30 CHAPTER 3 안드로이드 스튜디오로 첫 번째 애플리케이션 만들기
59 며, 이것은 안드로이드 Activity 클래스의 서브 클래스가 된다. 따라서 이름 맨 뒤에는 Activity 를 붙이는 것이 좋다. 액티비티는 하나의 사용자 인터페이스 화면 레이아웃(layout)으로 구성 되므로 레이아웃을 지정할 필요가 있다. 여기서는 Layout Name(레이아웃 이름)이 자동으로 activity_android_sample이 된다. 왜냐하면 우리가 입력한 액티비티 이름을 반영하여 액티비 티 이름의 맨 끝 단어를 맨 앞으로 가져오고 모두 소문자로 만든 후 단어 사이에는 밑줄을 넣 기 때문이다. Menu(메뉴) 리소스 이름인 menu_android_sample과 Title(제목) 명칭인 Android SampleActivity도 자동으로 부여된 것을 사용하는 것이 좋다. 그림 3-5 마지막으로, Finish 버튼을 누르면 프로젝트가 생성된다. 3.4 애플리케이션 변경하기 이 시점에서 안드로이드 스튜디오는 최소한의 애플리케이션 프로젝트를 생성하고 메인 창을 연다(안드로이드 스튜디오에서는 여러 개의 프로젝트를 독립된 창으로 동시에 열고 작업할 수 있다). 이때 앞의 그림 3-4에서 우리가 선택한 액티비티 타입과 관련된 템플릿(template)을 사용해서 액티비티 클래스(java 파일)와 사용자 인터페이스 레이아웃(xml 파일)의 소스 코드를 자동 생 성하고 메인 창의 중앙에 위치한 편집기에 열어서 보여준다. 그림 3-6의 화살표가 가리키는 3.4 애플리케이션 변경하기 31
60 content_android_sample.xml 탭을 클릭하자. 그림 3-6 새로 생성된 프로젝트와 관련 파일들의 참조는 프로젝트(Project) 도구 창에 나타난다(메인 프 로젝트 창의 왼쪽). 프로젝트 도구 창은 프로젝트를 구성하는 파일들의 정보를 볼 수 있는 여러 뷰를 갖고 있으며, 기본적으로는 Android 뷰로 보여준다. 뷰 설정은 프로젝트 도구 창의 위에 있는 드롭다운 아이콘( 선택 가능한 뷰 항목을 보여준다(그림 3-7). )으로 할 수 있으며, 클릭하면 그림 3-7 Project 뷰에서는 프로젝트를 구성하는 모든 디렉터리와 파일을 컴퓨터 파일 시스템에 저장된 물리적인 형태로 볼 수 있으며, Android 뷰에서는 주로 사용하는 파일을 쉽게 찾을 수 있도록 32 CHAPTER 3 안드로이드 스튜디오로 첫 번째 애플리케이션 만들기
61 그룹으로 분류하여 보여준다. 프로젝트 도구 창의 항목은 폴더(디렉터리)나 파일을 나타낸다. 그리고 각 항목 왼쪽의 작은 삼각형을 클릭하면 그 항목에 포함된 서브 디렉터리나 파일이 확장되어 나타난다. 또한, 파일을 더블 클릭하면 오른쪽의 편집기 창에 로드된다. Basic Activity를 선택해서 하나의 액티비티로 생성된 프로젝트는 Hello World! 라는 라벨(label) 하나만 포함하는 사용자 인터페이스(화면)로 구성되며, 이 프로젝트를 애플리케이션으로 빌드 하여 실행시키면 화면에 Hello World! 가 나타난다. 이제부터는 우리 애플리케이션의 사용자 인터페이스를 변경하여 다른 메시지를 갖는 더 큰 텍 스트 뷰 객체를 보여주게 할 것이다(안드로이드에서는 화면에 나타나는 것들을 여러 뷰(View) 객체로 제공한다). 생성된 액티비티의 사용자 인터페이스는 activity_android_sample.xml이라는 이름의 XML 레 이아웃 파일에 저장된다. 그리고 이 파일은 프로젝트 파일 계층 구조의 app res layout에 위치한다(파일 시스템에서는 AndroidSample\app\src\main\res\layout 디렉터리 경로가 된다). 이 레이아웃 파일은 장치 화면의 위에 나타나는 앱 바(종전의 액션 바)를 포함한다(그림 3-8의 A 부분). 또한, 플로팅 액션 버튼(그림 3-8의 B 버튼)도 포함하며, 콘텐트 레이아웃(그림 3-8의 C 부분) 파일의 참조도 포함한다. A C B 그림 애플리케이션 변경하기 33
62 프로젝트를 생성할 때 Basic Activity 템플릿을 선택하면 두 개의 레이아웃 파일을 생성해준다. 액티비티의 레이아웃 파일(여기서는 activity_android_sample.xml)과 콘텐트 레이아웃 파일(여기서는 content_android_sample.xml)이다. 우리가 화면에 보여줄 내용은 콘텐트 레이아웃 파일에 정의한다 (그림 3-9). 그림 3-9 이 파일은 안드로이드 스튜디오가 사용자 인터페이스 디자이너 도구 창에 자동으로 로드해준 다. 이 창은 안드로이드 스튜디오 메인 창의 중앙에 나타나며, 레이아웃 편집기라고도 한다. 디자이너 도구 창의 왼쪽 밑을 보면 두 개의 탭이 있다. Text 탭이 선택된 경우는 사용자 인터 페이스를 XML 소스로 보여주며, Design 탭이 선택된 경우는 그래픽 형태로 보여준다. Design 탭을 클릭하자(그림 3-10). 34 그림 3-10 CHAPTER 3 안드로이드 스튜디오로 첫 번째 애플리케이션 만들기
63 디자이너 창 위의 왼쪽에 있는 장치 툴바(toolbar)에는 현재 Nexus 4로 설정되어 있으며, 디자 이너 패널에는 그 장치를 시각적으로 나타내고 있다. 장치 툴바를 클릭하면 다양한 장치를 선 택할 수 있다. 장치의 방향(가로나 세로)을 변경하고자 할 때는 장치 툴바의 바로 오른쪽에 있는 아이콘( ) 을 클릭하면 된다. 장치 화면에서 볼 수 있듯이, 레이아웃에는 Hello World! 메시지를 보여주는 라벨 하나가 포 함되어 있다. 장치 그림이 있는 패널 바로 왼쪽에는 팔레트(palette)가 있다. 팔레트에는 사용 자 인터페이스 화면을 구성하는 서로 다른 종류의 사용자 인터페이스 컴포넌트들이 포함되 어 있다. 예를 들어, 버튼, 라벨, 텍스트 필드 등이다. 그러나 사용자들이 모든 사용자 인터페 이스 컴포넌트들을 볼 수 있는 것은 아니다. 예를 들어, 레이아웃(layout) 자체는 화면에 보이 지 않는다. 시각적인 사용자 인터페이스 컴포넌트들이 화면에 위치하고 관리되는 방법을 제 공하는 것이기 때문이다. 안드로이드는 다양한 종류의 레이아웃을 지원한다. 생성된 애플리 케이션의 레이아웃이 어떤 것인지 그림 3-10만 봐서는 알기 어렵겠지만, 현재의 레이아웃은 RelativeLayout을 사용해서 생성된 것이다. 정말 그런지 확인하려면 컴포넌트 트리(Component Tree) 패널의 정보를 보면 된다. 기본적으로 이 패널은 디자이너 창의 오른쪽 위에 있으며, 우 리가 원한다면 얼마든지 위치를 변경할 수 있다. 장치 화면의 빈 곳을 클릭하면 그림 3-11과 같이 컴포넌트 트리에 나타난다. 그림 3-11 컴포넌트 트리의 계층 구조를 보면 알 수 있듯이, 여기서는 사용자 인터페이스가 하나의 RelativeLayout 부모로 구성되고 이 레이아웃은 하나의 TextView 객체를 자식으로 갖고 있다. 그러면 우선 TextView 컴포넌트를 삭제해보자. 디자이너 패널의 장치 그림에 있는 TextView를 마우스로 클릭하면 주위에 푸른 경계선이 나타날 것이다. 그리고 키보드의 Delete 키를 누르 면 레이아웃에서 삭제된다(컴포넌트 트리에서 선택하고 해도 된다). 그다음에 팔레트 패널에서 위젯(Widgets) 부류의 컴포넌트를 보면 Large Text 객체가 있다. 3.4 애플리케이션 변경하기 35
64 그것을 마우스로 선택하고 끌어서 디자이너 패널 레이아웃의 중앙에 놓는다. 교차되는 수직 선과 수평선이 모두 나타나야만 중앙이 된다(그림 3-12). 그림 3-12 팔레트의 컴포넌트를 마우스로 끌지 않고 선택만 한 후에 레이아웃의 원하는 곳을 클릭해도 된다. 물론, 이때도 마우스 커서를 레이아웃에서 움직이면 수직선과 수평선이 나타난다. 이 방법이 더 편리할 수 있다. 그다음에는 TextView 컴포넌트에 보여줄 텍스트를 변경해보자(Large Text는 TextView 컴포넌트 다). 디자인 레이아웃의 그 객체를 더블 클릭하면 그림 3-13의 대화상자가 나타난다. 거기에서 텍스트 속성(text) 값을 Large Text 에서 Welcome to Android Studio 로 변경하자. id 속성값은 textview 그대로 두고 Enter 키를 누른다. 그림 3-13 여기서 알아둬야 할 중요한 내용이 있다. 레이아웃의 TextView 객체를 클릭한 후 바로 왼쪽을 보면 조그만 전구 아이콘이 있다. 이 전구는 문제가 생길 수 있다는 것을 알려주면서 권장되 는 해결 방법을 제공한다는 것을 나타낸다. 그것을 클릭하면 다음과 같은 문제점을 알려준다. 36 CHAPTER 3 안드로이드 스튜디오로 첫 번째 애플리케이션 만들기
iOS ÇÁ·Î±×·¡¹Ö 1205.PDF
iphone ios 5 DEVELOPMENT ESSENTIALS Copyright 2011 Korean Translation Copyright 2011 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. i iphone ios
More information( )부록
A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.
More information13Åë°è¹é¼Ł
이면은빈공간입니다. National Statistics White Paper 2012 National Statistics White Paper ii _ STATISTICS KOREA 2012 _ iii 2012 National Statistics White Paper 1 26 2 27 3 28 4 29 5 30 6 31 7 32 8 33 9 34 10 35
More informationuntitled
Content Ⅰ. 기본방향 1. 목 적 3 2. 적용범위 3 Ⅱ. 사회복지관 운영 1. 사회복지관의 정의 7 2. 사회복지관의 목표 7 3. 사회복지관의 연혁 7 4. 사회복지관 운영의 기본원칙 8 Ⅲ. 사회복지관 사업 1. 가족복지사업 15 2. 지역사회보호사업 16 3. 지역사회조직사업 18 4. 교육 문화사업 19 5. 자활사업 20 6. 재가복지봉사서비스
More informationMicrosoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse
More information유니 앞부속
Published by Ji&Son Inc. Printed in Korea. Unityによる3Dゲ-ム : iphone/android/webで ゲ-ムプログラミング (JAPAN ISBN 978-4873115061) Authorized translation from the Japanese language edition of Unityによる3Dゲ- ム. 2011 the
More information사물인터넷비즈니스빅뱅_내지_11차_160421.indd
사물인터넷 빅뱅 2016. 연대성 All Rights Reserved. 초판 1쇄 발행 2016년 4월 29일 지은이 연대성 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제406 2009 000087호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr
More informationMicrosoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper
Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,
More informationxviii EBS 수능강의 서비스를 활용하는 이유는 수능시험에 연계되기 때문이라는 응답 이 학생 61.7%, 학부모 73.2%로 가장 많았고, EBS 수능강의 서비스를 활용하 지 않는 이유는 학생의 경우 사교육 때문이라는 응답이 26.9%, 혼자 공부하는 것으로 충분하
xvii 요 약 1. 수요자 설문조사 분석 가. 설문지 제작 및 조사 방법 설문 영역: 수능강의 이용 현황, 수능강의 평가, 수능 교재, 사교육 이용 등 조사 대상: 일반고, 자율고, 외국어고 학생 및 그의 학부모 각각 6,480명 표본 추출 방법 : 층화표집(지역 규모별 108개교 표집 후 학생 무선표집) 조사 방법 : 설문지 조사 응답률 : 학생 96.5%(6,250명),
More information<BEC6BFF4BCD2BDCCBAB8B0EDBCAD28C3D6C1BE29303831302E687770>
동아시아역내 일본자동차산업의 아웃소싱 시장 분석을 통한 국내자동차부품기업의 진출방안 연구 2008. 8. 29. 한일산업기술협력재단 연구 참여자 책임연구자: 김도훈(한일산업기술협력재단 일본기업연구센터 연구위원) 연 구 자: 오재훤(메이지대학 국제일본학부 준교수) 연 구 자: 김봉길(도야마대학 경제학부 교수) 연 구 자: 정성춘(대외경제정책연구원 일본팀장) 연
More information동북아 문화공동체 형성을 위한 한 중 일 대중문화 교류의 현황 및 증진 방안 연구 동북아 문화공동체 특별연구위원회 구 분 성 명 소 속 및 직 위 위 원 장 김 광 억 서울대 인류학과 교수 김 우 상 연세대 정치외교학과 교수 박 준 식 한림대 사회학과 교수 전 영 평 대구대 도시행정학과 교수 위 원 정 진 곤 한양대 교육학과 교수 정 하 미 한양대 일본언어
More information10X56_NWG_KOR.indd
디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때
More informationchapter1,2.doc
JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer
More information<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770>
어업 이주노동자 인권상황 실태조사 2012년도 국가인권위원회 인권상황 실태조사 연구용역보고서를 제출합니다 2012. 10. 연구수행기관 한양대학교 글로벌다문화연구원 연구책임자 오경석 연 구 원 이한숙 김사강 김민정 류성환 윤명희 정정훈 연구보조원 최상일 이 보고서는 연구용역수행기관의 결과물로서, 국가인권위원회의 입장과 다를 수 있습니다 연구요약 이 연구는 연근해
More informationDE1-SoC Board
실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically
More information<3036C7E2BCF6C3D6C1BEBABB2E687770>
문화향수실태조사 SURVEY REPORT ON CULTURAL ENJOYMENT 2006 문화관광부 한국문화관광정책연구원 Ministry of Culture & Tourism Korea Culture & Tourism Policy Institute 서문 우리나라 국민들이 문화와 예술을 얼마나, 그리고 어떻게 즐기고 있는지를 객관적으 로 파악하기 위하여, 1988년부터
More informationPowerPoint Template
3. 안드로이드개발환경설치 Android Studio 설정 [1/13] [Windows 시작 ]-[ 모든앱 ]-[Android Studio] 의 Android Studio 를실행 Page 34 3. 안드로이드개발환경설치 Android Studio 설정 [2/13] 첫설치이므로다음과같은선택화면이나오면아래쪽 I do not have a previous~ 가 선택된상태에서
More information09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위
01 노동법 법원으로서의 노동관행 15 - 대판 2002.4.23, 2000다50701 [퇴직금] (한국전력공사 사례) 02 노동법과 신의성실의 원칙 17 - 대판 1994.9.30, 94다9092 [고용관계존재확인등] (대한조선공사 사례) 03 퇴직금 청구권 사전 포기 약정의 효력 19 - 대판 1998.3.27, 97다49732 [퇴직금] (아시아나 항공
More information<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770>
외국인 투자기업의 노사관계 요 약 i ii 외국인 투자기업의 노사관계 요 약 iii iv 외국인 투자기업의 노사관계 요 약 v vi 외국인 투자기업의 노사관계 요 약 vii viii 외국인 투자기업의 노사관계 요 약 ix x 외국인 투자기업의 노사관계 요 약 xi xii 외국인 투자기업의 노사관계 요 약 xiii xiv 외국인 투자기업의 노사관계
More information°æÁ¦Àü¸Á-µ¼º¸.PDF
www.keri.org i ii iii iv v vi vii viii ix x xi xii xiii xiv xv 3 4 5 6 7 8 9 10 11 12 13 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 47 48 49 50 51 52 53
More information언리얼엔진4_내지_150126.indd
C 2015. 박승제 All Rights Reserved. 초판 1쇄 발행 2015년 2월 10일 지은이 박승제 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제406 2009 000087호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr / 이메일
More informationChapter 1
3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g
More information<5B33B9F8B0FAC1A65D20B9E6BCDBBDC9C0C7BDC3BDBAC5DB20B0B3BCB1B9E6BEC8BFACB1B82DC3D6C3D6C1BE2E687770>
KCSC 2015-003 방송심의시스템 개선방안 연구 시청자참여심의제 도입 가능성을 중심으로 2015. 12. 이 보고서는 2015년 방송통신심의위원회의 심의정책 연구개발 사업의 연구결과로서 보고서의 내용은 연구자의 견해이며, 방송통신심의위원회의 공식 입장은 아닙니다. 방송심의시스템 개선방안 연구 - 시청자참여심의제 도입 가능성을 중심으로 - 연 구 진 연구수행기관
More information을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을
안드로이드설치및첫번째예제 안드로이드설치 안드로이드개발킷은안드로이드개발자사이트 (http://developer.android.com/) 에서다운로드받을수있으며현재 1.5 버전으로윈도우즈, 맥 OS X( 인텔 ), 리눅스플랫폼패키지가링크되어져있다. 안드로이드개발킷을설치하기위해서는다음과같은시스템환경이갖추어져있어야한다. 플랫폼 Windows Mac Linux 지원환경
More information<BAD2B9FDBAB9C1A620BAB8B0EDBCAD5FC5EBC7D55F76657230345FB9DFB0A3BBE7C6F7C7D45F33C2F720B1B3C1A428B1D7B8B22020C3DFC3E2292E687770>
2014 저작권 보호 연차보고서 nnual eport on Copyright rotection 2014 저작권 보호 연차보고서 nnual eport on Copyright rotection 발간사 올해 초 안방극장을 휘어잡은 드라마 별에서 온 그대 는 독특한 소재와 한류스타의 완벽한 연기로 대한민국을 넘어 중국과 일본 등 아시아에 다시금 한류 열풍을 불러일으켰습
More informationUNIST_교원 홈페이지 관리자_Manual_V1.0
Manual created by metapresso V 1.0 3Fl, Dongin Bldg, 246-3 Nonhyun-dong, Kangnam-gu, Seoul, Korea, 135-889 Tel: (02)518-7770 / Fax: (02)547-7739 / Mail: contact@metabrain.com / http://www.metabrain.com
More information<28BCF6BDC320323031352D31332920B0E6B1E2B5B520C1F6BFAABAB020BFA9BCBAC0CFC0DAB8AE20C1A4C3A520C3DFC1F8C0FCB7AB5FC3D6C1BE2830312E3036292E687770>
수시과제 2015-13 경기도 지역별 여성일자리 정책 추진 전략 연구책임자 : 최 윤 선 (본원선임연구위원) : 남 승 연 (본원연구위원) 연 구 지 원 : 이 상 아 (본원위촉연구원) 연 구 기 간 : 2015. 9 ~12 2015 발 간 사 여성 일자리는 사회 내 여성과 남성간의 차이를 좁히고 개개인의 삶을 윤택하게 만드는 중요 한 부분입니다. 이에 정부는
More information<C1A4C3A5BFACB1B82031312D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>
제 출 문 보건복지부장관 귀 하 이 보고서를 정신질환자의 편견 해소 및 인식 개선을 위한 대상별 인권 교육프로그램 개발 연구의 결과보고서로 제출합니다 주관연구기관명 서울여자간호대학 산학협력단 연 구 책 임 자 김 경 희 연 구 원 김 계 하 문 용 훈 염 형 국 오 영 아 윤 희 상 이 명 수 홍 선 미 연 구 보 조 원 임 주 리 보 조 원 이 난 희 요
More informationRemote UI Guide
Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................
More information1111111111.PDF
표지와 같은 면지 19대 총선평가 학술회의 일 시: 2012년 4월 25일(수) 13:30 18:00 장 소: 국회입법조사처 대회의실 (국회도서관 421호), 제1세미나실 (427호) 주 최: 국회입법조사처/한국정당학회 전체일정표 대회의실 제1세미나실 1:30 ~ 1:50 pm 개회식 1:50 ~ 3:50 pm 1패널 19대 총선평가와 전망 3:50 ~ 4:00
More information4S 1차년도 평가 발표자료
모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat
Sun Server X3-2( Sun Fire X4170 M3) Oracle Solaris : E35482 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including
More information정책연구개발사업 2010-위탁 대학 등록금의 합리적 책정을 위한 실행방안 연구 연 구 책 임 자 공 동 연 구 자 송동섭(단국대학교) 이동규(충남대학교) 이창세(재능대학) 한창근(인하공업전문대학) 연 구 협 력 관 장미란(교육과학기술부) 교육과학기술부 이 연구는 201
제 출 문 교육과학기술부장관 귀하 본 보고서를 대학 등록금의 합리적 책정을 위한 실행방안 연구 최종 보고서로 제출합니다. 2010년 12월 일 주관연구기관명:단국대학교 연구기간:2010. 7. 19-2010. 12. 18 주관연구책임자:송 동 섭 참여연구원 공동연구원:이 동 규 이 창 세 한 창 근 연 구 조 원:심 재 우 정책연구개발사업 2010-위탁 대학
More information초보자를 위한 C++
C++. 24,,,,, C++ C++.,..,., ( ). /. ( 4 ) ( ).. C++., C++ C++. C++., 24 C++. C? C++ C C, C++ (Stroustrup) C++, C C++. C. C 24.,. C. C+ +?. X C++.. COBOL COBOL COBOL., C++. Java C# C++, C++. C++. Java C#
More informationSolaris Express Developer Edition
Solaris Express Developer Edition : 2008 1 Solaris TM Express Developer Edition Solaris OS. Sun / Solaris, Java, Web 2.0,,. Developer Solaris Express Developer Edition System Requirements. 768MB. SPARC
More informationORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O
Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration
More information1부
PART 1 2 PART 01 _ SECTION 01 API NOTE SECTION 02 3 SECTION 02 GPL Apache2 NOTE 4 PART 01 _ SECTION 03 (Proyo) 2 2 2 1 2 2 : 2 2 Dalvik JIT(Just In Time) CPU 2~5 2~3 : (Adobe Flash) (Air) : SD : : : SECTION
More information목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨
최종 수정일: 2010.01.15 inexio 적외선 터치스크린 사용 설명서 [Notes] 본 매뉴얼의 정보는 예고 없이 변경될 수 있으며 사용된 이미지가 실제와 다를 수 있습니다. 1 목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시
More information- I - - II - - III - - IV - - V - - VI - - VII - - VIII - - IX - - X - - XI - - XII - - XIII - - XIV - - XV - - XVI - - XVII - - XVIII - - XIX - - XX - - XXI - - XXII - - XXIII - - 1 - - - - 3 - - - -
More information대표이사등의확인서명(11.03.30) I. 회사의 개요 1. 회사의 개요 1. 연결대상 종속회사 개황(연결재무제표를 작성하는 주권상장법인이 사업보고서, 분기ㆍ 반기보고서를 제출하는 경우에 한함) (단위 : 백만원) 상호 설립일 주소 주요사업 직전사업연도말 자산총액 지배
사 업 보 고 서 (제 21 기) 사업연도 2010년 01월 01일 2010년 12월 31일 부터 까지 금융위원회 한국거래소 귀중 2011년 3월 30일 회 사 명 : (주)한글과컴퓨터 대 표 이 사 : 김상철,이홍구 본 점 소 재 지 : 서울시 광진구 구의동 546-4 프라임센터 21층 (전 화)02-3424-3400 (홈페이지) http://www.hancom.co.kr
More informationI. 회사의 개요 1. 회사의 개요 1) 회사의 법적, 상업적 명칭 당사의 명칭은 "주식회사 한글과컴퓨터"라고 표기합니다. 또한 영문으로는 "HANCOM INC." 라 표기합니다. 단, 약식으로 표기할 경우에는 (주)한글과컴퓨터라 고 표기합니다. 2) 설립일자 및 존속
반 기 보 고 서 (제 23 기) 사업연도 2012년 01월 01일 2012년 06월 30일 부터 까지 금융위원회 한국거래소 귀중 2012년 8 월 14 일 회 사 명 : 주식회사 한글과컴퓨터 대 표 이 사 : 김 상 철,이 홍 구 본 점 소 재 지 : 경기도 성남시 분당구 대왕판교로 644번길49 한컴타워 10층 (전 화) 031-627-7000 (홈페이지)
More informationPowerPoint 프레젠테이션
Tizen IoT 환경설정의모든것 Tizen IoT 알아보기 August 21, 2018 Tizen IoT 알아보기 Ⅰ Ⅱ Ⅲ 타이젠스튜디오설치하기 타이젠의다양한프로파일소개 타이젠 IoT 개발환경소개 Tizen Studio 설치 타이젠스튜디오다운로드 https://developer.tizen.org/ Tizen developer 사이트에접속하여타이젠스튜디오다운로드페이지에접속합니다.
More information제 출 문 중소기업청장 귀하 본 보고서를 중소기업 원부자재 구매패턴 조사를 통한 구매방식 개선 방안 연구 의 최종보고서로 제출합니다. 2007. 12 한국산업기술대학교 산학협력단 단 장 최 정 훈 연구책임자 : 이재광 (한국산업기술대학교 부교수) 공동연구자 : 노성호
최종보고서 중소기업 원부자재 구매패턴 조사를 통한 구매방식 개선방안 연구 2007. 12 제 출 문 중소기업청장 귀하 본 보고서를 중소기업 원부자재 구매패턴 조사를 통한 구매방식 개선 방안 연구 의 최종보고서로 제출합니다. 2007. 12 한국산업기술대학교 산학협력단 단 장 최 정 훈 연구책임자 : 이재광 (한국산업기술대학교 부교수) 공동연구자 : 노성호 (한국산업기술대학교
More informationchapter4
Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก
More information2005 중소기업 컨설팅 산업 백서
제 출 문 중소기업청장 귀하 본 보고서를 중소기업 컨설팅 산업 백서 에 대한 최종보고 서로 제출합니다. 2005. 12. 16 (사)한국경영기술컨설턴트협회 회장 박양호 수탁연구기관 : (사)한국경영기술컨설턴트협회 컨설팅혁신정책연구원 총괄연구책임자 : 경영학 박사 김태근(정책분과위원장) 연 구 자 : 경제학 박사 김윤종 통계학 박사 김용철 경제학 박사 변종석
More information- i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - xii - - xiii - - xiv - - xv - - xvi - - xvii - - xviii - - xix - - xx - - xxi - - xxii - - xxiii - - xxiv - - 3 - - 4 -
More information*BA_00
Published by Ji&Son Inc. Printed in Korea Copyright 2010 by Ji&Son Inc. Authorized translation of the English edition of Beautiful Architecture 2009 O Reilly Media, Inc. This Translation is published and
More information28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]
The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr
More information<5BB1E2BABB5D5FB0F8B0F8BACEB9AE5FBDC3B0A3C1A6B1D9B9ABBFCD5FC0B0BEC6C8DEC1F7BFA15FB5FBB8A55FB4EBC3BCC0CEB7C25FC8B0BFEBB0FAC0C75FBFACB0E8B9E6BEC85F2D5FB9AEB9CCB0E62E687770>
2012 연구보고서-23 공공부문 시간제근무와 육아휴직에 따른 대체인력 활용과의 연계방안 연구책임자 : 문미경(본원 선임연구위원) 공동연구자 : 김복태(본원 연구위원) 금창호(한국지방행정연구원 선임연구위원) 박미연(본원 위촉연구원) 발 간 사 본 연구는 유연근무제의 여러 형태 중 최근 공공부문에서 가장 관심을 보이 고 있는 시간제 근무에 초점을 맞추어, 육아휴직
More informationPCServerMgmt7
Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network
More information(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)
w w w. g b t e c. c o. k r 6 안드로이드 App 적용하기 115 1. 안드로이드개요 모바일 OS 의종류 - 스마트폰 : 스마트폰운영체제탑재 애플의 IOS(iPhone OS) - 아이폰, 아이패드, 아이팟터치 구글의안드로이드 - Nexus, 갤럭시 A, S, 모토로이, 시리우스,... MS 의윈도우모바일 ( 윈도우폰 7) - 옴니아 2,
More informationInterstage5 SOAP서비스 설정 가이드
Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service
More informationODS-FM1
OPTICAL DISC ARCHIVE FILE MANAGER ODS-FM1 INSTALLATION GUIDE [Korean] 1st Edition (Revised 4) 상표 Microsoft, Windows 및 Internet Explorer는 미국 및 / 또는 다른 국가에서 Microsoft Corporation 의 등록 상표입 Intel 및 Intel Core
More information<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>
i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,
More informationuntitled
Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.
More informationDR-M140 사용 설명서
사용 설명서 본 스캐너를 사용하기 전에 이 설명서를 읽으십시 오. 이 설명서를 다 읽은 후에는 이후에 참조할 수 있 도록 안전한 곳에 보관하십시오. 보증과 A/S 이 제품에는 보증서가 있습니다. 보증서는 구매처에서 받을 수 있습니다. 구매한 날짜 구매처 등의 기 입을 확인한 후 내용을 정확히 읽고 잘 보관하십시오. 보증기간 보증기간은 구매한 날로부터 1년 입니다.
More information11111111111111111111111111111111111111111111111111111111111111111111111111111
서울시 금천구 가산동 448 대륭테크노타운 3차 301호 전화 : (02)838-0760 팩스 : (02)838-0782 메일 : support@gyrosoft.co.kr www.gyrosoft.co.kr www.gyro3d.com 매뉴얼 버전 : 1.00 (발행 2008.6.1) 이 설명서의 어느 부분도 자이로소프트(주)의 승인 없이 일부 또는 전부를 복제하여
More information목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2
유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...
More informationMac OS X 이란.hwp
Mac OS X 이란 운영체제(OS:Operation System)는 컴퓨터를 제어하고 해야 할 일을 명령하는 소프트웨어입 니다. 애플의 매킨토시(Macintosh) 컴퓨터를 실행하는 운영 체제는 Mac OS라고 불립니다. 이미 윈도우즈에 적응되어버린 사용자들이 다시 새로운 OS를 배운다는 건 쉽지 않겠지만, Mac OS는 세상의 어떤 OS보다도 사용하기 쉽다고
More informationOrcad Capture 9.x
OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd
More information오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이
C Cover Story 05 Simple. Secure. Everywhere. 문서관리 혁신의 출발점, Oracle Documents Cloud Service 최근 문서 관리 시스템의 경우 커다란 비용 투자 없이 효율적으로 문서를 관리하기 위한 기업들의 요구는 지속적으로 증가하고 있다. 이를 위해, 기업 컨텐츠 관리 솔루션 부분을 선도하는 오라클은 문서관리
More informationPortal_9iAS.ppt [읽기 전용]
Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C
More informationAGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례
모바일 클라우드 서비스 융합사례와 시장 전망 및 신 사업전략 2011. 10 AGENDA 01 02 03 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례 AGENDA 01. 모바일 산업의 환경 변화 가치 사슬의 분화/결합 모바일 업계에서도 PC 산업과 유사한 모듈화/분업화 진행 PC 산업 IBM à WinTel 시대 à
More information고용허가제와 방문취업제 외국인의 취업 및 사회생활 사본
2011 발 간 등 록 번 호 11-1270000-000682-01 간접투자 이민제도의 해외사례 및 정책적 시사점 연구책임자: 공동연구자: 강동관 (IOM이민정책연구원 연구위원) 이완수 (IOM이민정책연구원 연구위원) 한태희 (IOM이민정책연구원) 황진영 (한남대학교 경제학과 교수) 정강옥 (한남대학교 경영학과 교수) 임응순 (고려대학교 연구교수) 2011.
More information다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.
메 뉴 다음 사항을 꼭 확인하세요! --------------------------------- 2p 안전을 위한 주의 사항 --------------------------------- 3p 구성품 --------------------------------- 4p 각 부분의 명칭 --------------------------------- 5p 제품의 규격
More information<4D6963726F736F667420576F7264202D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>
목차(Table of Content) 1. 클라우드 컴퓨팅 서비스 개요... 2 1.1 클라우드 컴퓨팅의 정의... 2 1.2 미래 핵심 IT 서비스로 주목받는 클라우드 컴퓨팅... 3 (1) 기업 내 협업 환경 구축 및 비용 절감 기대... 3 (2) N-스크린 구현에 따른 클라우드 컴퓨팅 기술 기대 증폭... 4 1.3 퍼스널 클라우드와 미디어 콘텐츠 서비스의
More information컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로
2015년 상명대학교 ICT융합대학 컴퓨터과학과 졸업 프로젝트 전시회 2015 Computer Science Graduate Exhibition 2015 Computer Science Graduate Exhibition 1 컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는
More information스마트월드캠퍼스 교육교제
LG Smart TV SDK 활용법 Contents 1. Using LG Smart TV SDK 2. Testing & Publishing 3. UX Guideline Using LG Smart TV SDK LG Smart TV SDK 구성 Open API IDE* App 구현을 위한 LG Smart TV 인터페이스 제공 Media playback, TV 제어,
More informationPRO1_02E [읽기 전용]
Siemens AG 1999 All rights reserved File: PRO1_02E1 Information and 2 STEP 7 3 4 5 6 STEP 7 7 / 8 9 10 S7 11 IS7 12 STEP 7 13 STEP 7 14 15 : 16 : S7 17 : S7 18 : CPU 19 1 OB1 FB21 I10 I11 Q40 Siemens AG
More information블로그_별책부록
Mac Windows http //java sun com/javase/downloads Java SE Development Kit JDK 1 Windows cmd C:\>java -version java version "1.6.0_XX" Java(TM) SE Runtime Environment (build 1.6.0_XX-b03) Java HotSpot(TM)
More informationKeyMission 360 KeyMission ( ).... 4K UHD., 60 cm... ii KeyMission 360
KeyMission 360 SnapBridge 1 4 20 34 ii iv vi. " "(x ), ",, "(xiv) " "(34 ).. KeyMission 360 KeyMission 360. 360 360 180 ( ).... 4K UHD., 60 cm... ii KeyMission 360 SnapBridge 360/170 KeyMission 360/170
More information<28323129BACFC7D1B1B3C0B0C1A4C3A5B5BFC7E228B1E2BCFABAB8B0ED20545220323031342D373929202D20C6EDC1FD2035B1B32E687770>
기술보고 TR 2014-79 북한 교육정책 동향 분석 및 서지 정보 구축 연구책임자 _ 김 정 원 (한국교육개발원 ) 공동연구자 _ 김 김 한 강 지 은 승 구 수 (한국교육개발원) 주 (한국교육개발원) 대 (한국교육개발원) 섭 (한국교육개발원) 연 구 조 원 _ 이 병 희 (한국교육개발원) 머리말 최근 통일에 대한 논의가 어느 때보다 활발합니다. 그에 따라
More information학위논문홍승아.hwp
印 印 印 - iv - - v - - vi - - vii - - viii - -1- -2- -3- -4- -5- -6- - -7- vii - - -8- viii - -9- 1) --10- x - --11- xi - --12- xii - -13- -14- -15- -16- -17- -18- -19- -20- --21- xxi - -22- - -23- xxiii
More informationCopyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related
Virtual Machine Sun Fire X4800 M : E4570 0 8 Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation
More informationDialog Box 실행파일을 Web에 포함시키는 방법
DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New
More informationMicrosoft Word - 김완석.doc
포커스 구글의 기술과 시사점 김완석* 성낙선** 정명애*** 구글에는 전설적인 다수의 개발자들이 지금도 현역으로 일하고 있으며, 구글 창업자와 직원들이 직접 대 화하는 금요회의가 지금도 계속되고 있다. 구글은 창업자, 전설적 개발자, 금요회의, 복지 등 여러 면에서 화제와 관심의 대상이다. 이러한 화제의 구글을 기술 측면에서 이해하기 위하여 구글의 주요 기술에
More informationuntitled
A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Designer Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Designer
More informationuntitled
A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Designer Getting Started 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Designer
More informationSK IoT IoT SK IoT onem2m OIC IoT onem2m LG IoT SK IoT KAIST NCSoft Yo Studio tidev kr 5 SK IoT DMB SK IoT A M LG SDS 6 OS API 7 ios API API BaaS Backend as a Service IoT IoT ThingPlug SK IoT SK M2M M2M
More informationCopyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su
Java Desktop System 2 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 817 7757 10 2004 9 Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A..,,.
More informationMentor_PCB설계입문
Mentor MCM, PCB 1999, 03, 13 (daedoo@eeinfokaistackr), (kkuumm00@orgionet) KAIST EE Terahertz Media & System Laboratory MCM, PCB (mentor) : da & Summary librarian jakup & package jakup & layout jakup &
More information연구요약 1. 서론 연구의 목적 본 연구는 청소년 교육정책의 바람직한 방향을 설정하고, 미래지향적인 정책과제와 전략, 그리고 비전을 도출하기 위해 수행되었다. 이를 위해 지 난 15년간의 청소년 교육 환경 및 정책의 변화를 분석하고, 향후 15년간 의 청소년 교육 환경
발간등록번호 국가청소년 www.youth.go.kr 청소년 희망세상 비전 2030 연구 (교육 분야) 책임연구원 : 임천순 (세종대학교 교수) 공동연구원 : 채재은 (경원대학교 부교수) 우명숙 (한양대학교 초빙교수) 국 가 청 소 년 위 원 회 연구요약 1. 서론 연구의 목적 본 연구는 청소년 교육정책의 바람직한 방향을 설정하고, 미래지향적인 정책과제와 전략,
More informationPowerPoint 프레젠테이션
Synergy EDMS www.comtrue.com opyright 2001 ComTrue Technologies. All right reserved. - 1 opyright 2001 ComTrue Technologies. All right reserved. - 2 opyright 2001 ComTrue Technologies. All right reserved.
More information서현수
Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,
More informationAndroid Studio Development Essentials Copyright 2014 Neil Smyth. All rights reserved. Korean Translation Copyright 2015 by J-Pub. co. The Korean editi
Android Studio Development Essentials Copyright 2014 Neil Smyth. All rights reserved. Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through
More information1
1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2
More informationINDUS-8.HWP
i iii iv v vi vii viii ix x xi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
More informationCONTENTS.HWP
i ii iii iv v vi vii viii ix x xi - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 - - 24 - - 25 -
More information- i - - ii - - i - - ii - - i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 -
More informationDRB1598A
DDJ-S1 http://www.prodjnet.com/support/ 본 파이오니어 제품을 구입해 주셔서 감사드립 본 취급설명서를 주의깊게 읽으시고, 갖고 계신 모델의 올바른 조작법을 익히십시오. 본 취급설 명서를 읽으신 후, 안전한 곳에 보관하셔서 나중에 참고하십시오. 일부 국가 또는 지역의 경우, 전원 플러그 및 콘센트의 형태가 설명의 그림에 보여지는
More information목차 소프트웨어 라이센스 계약 3 무선 연결 사용 시 참고 사항 4 보안 관련 참고 사항 6 Wireless Manager mobile edition 5.5 로 수행 가능한 작업 7 컴퓨터 확인 10 컴퓨터를 연결하기 위해 필요한 환경 10 소프트웨어 설치 / 제거 1
Windows 사용 설명서 Wireless Manager ME 5.5 Wireless Manager mobile edition 5.5 F1111-0 KOREAN WM-LY8JC-K 목차 소프트웨어 라이센스 계약 3 무선 연결 사용 시 참고 사항 4 보안 관련 참고 사항 6 Wireless Manager mobile edition 5.5 로 수행 가능한 작업
More information2016년이렇게달라집니다_ 전체 최종 1223.indd
Contents 2016 ii iii Contents 2016 iv v Contents 2016 vi vii Contents 2016 viii ix Contents 2016 x xi Contents 2016 xii xiii Contents 2016 xiv xv Contents 2016 xvi xvii Contents 2016 3 xviii xix Contents
More informationMobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V
Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4
More informationAnalytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras
Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios
More information,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),
1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)
More information0
Kr 0 i 1 http://downloadcenter.nikonimglib.com/ 2 A 0 ii D A 0 iii 0 0 0 0 0 iv A http://downloadcenter.nikonimglib.com/ http://downloadcenter.nikonimglib.com/ v vi i i vii P S A M M viii ix R i i x D
More informationMicrosoft Word - Automap3
사 용 설 명 서 본 설명서는 뮤직메트로에서 제공합니다. 순 서 소개 -------------------------------------------------------------------------------------------------------------------------------------------- 3 제품 등록 --------------------------------------------------------------------------------------------------------------------------------------
More informationMicrosoft Word - HD-35 메뉴얼_0429_.doc
자주 묻는 질문들...2 제품의 특장점...3 안전을 위한 주의사항...5 사용을 위한 주의사항...5 각 부분의 이름...6 HD-35 조립/분리하기...7 PC와 USB 케이블 연결하기...8 1. 윈도우 98/ME에서 설치과정...9 2. NTFS를 FAT32 포맷방식으로 바꾸기...11 설치 및 연결하기...14 1. 비디오 연결방법...14 2. 오디오
More information문서의 제목 나눔고딕B, 54pt
Software Verification Introduction to Software Testing & Static Analysis 2조이상혁왕홍강김태영 2016-03-18 1.1 Overview 2 / 87 Overview 1.1 Overview 3 / 87 Overview 1.2 Install JDK 4 / 87 Install JDK JDK 8 다운로드페이지
More information