Android Studio Development Essentials: Android 7 Edition Copyright c 2016 Neil Smyth. All rights reserved. Korean Translation Copyright c 2017 by J-Pu

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Android Studio Development Essentials: Android 7 Edition Copyright c 2016 Neil Smyth. All rights reserved. Korean Translation Copyright c 2017 by J-Pu"

Transcription

1

2 Android Studio Development Essentials: Android 7 Edition Copyright c 2016 Neil Smyth. All rights reserved. Korean Translation Copyright c 2017 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. 이책의한국어판저작권은에이전시원을통해저작권자와의독점계약으로제이펍출판사에있습니다. 신저작권법에의해한국내에서보호를받는저작물이므로무단전재와무단복제를금합니다. 1쇄발행 2017년 8월 11일지은이닐스미스옮긴이심재철펴낸이장성두펴낸곳제이펍출판신고 2009년 11월 10일제 호주소경기도파주시회동길 159 3층 3-B호전화 / 팩스 홈페이지 / 원고투고 독자문의 / 교재문의 편집부이민숙, 황혜나, 이슬, 이주원 / 소통 기획팀민지환, 현지환 / 회계팀김유미교정 교열장성두 / 본문디자인이민숙 / 표지디자인미디어픽스용지신승지류유통 / 인쇄해외정판사 / 제본광우제책사 ISBN (93000) 값 37,000원 이책은저작권법에따라보호를받는저작물이므로무단전재와무단복제를금지하며, 이책내용의전부또는일부를이용하려면반드시저작권자와제이펍의서면동의를받아야합니다. 잘못된책은구입하신서점에서바꾸어드립니다. 제이펍은독자여러분의아이디어와원고투고를기다리고있습니다. 책으로펴내고자하는아이디어나원고가있으신분께서는책의간단한개요와차례, 구성과저 ( 역 ) 자약력등을메일로보내주세요.

3

4 드리는말씀 이책은 핵심만골라배우는안드로이드스튜디오 & 프로그래밍 의최신개정판입니다. 이책에기재된내용을기반으로한운용결과에대해저 / 역자, 소프트웨어개발자및제공자, 제이펍출판사는일체의책임을지지 않으므로양해바랍니다. 이책에기재한회사명및제품명은각회사의상표및등록명입니다. 이책에서는 TM, C, R 등의기호를생략하고있습니다. 이책에서사용하고있는실제제품버전은독자의학습시점에따라책의버전과다를수있습니다. 이책의원서는안드로이드스튜디오 2.3 과안드로이드 7( 누가 ) 버전으로작성되었습니다만, 번역서는안드로이드스튜디오 3.0 Canary 8 과안드로이드 8.0 버전에맞춰업데이트하여출간합니다. 제이펍의다른책들과는달리이책은빠른출간을위해베타리딩을진행하지않고출간합니다. 이책에나오는안드로이드스튜디오예제프로젝트파일과역자가집필한특별부록 Kotlin( 코틀린 ) 핵심파악하기 (PDF) 는다음의사 이트에서다운로드할수있습니다. - 책의내용과관련된문의사항은옮긴이나출판사로연락주시기바랍니다. - 옮긴이 : - 출판사 :

5 차례 xxvi CHAPTER 1 CHAPTER 2 CHAPTER 3 개요 _ 안드로이드스튜디오의장점 소스코드다운로드하기 단축키와코드표기 안드로이드스튜디오최신버전사용하기 독자 A/S 오탈자 5 안드로이드스튜디오개발환경구성하기 _ 개발시스템요구사항 자바 JDK 설치하기 리눅스에서설치하기 안드로이드스튜디오패키지다운로드하기 안드로이드스튜디오설치하기 안드로이드스튜디오설정위저드 가장최신버전의안드로이드 SDK 패키지설치하기 명령행에서안드로이드 SDK 도구사용하기 안드로이드스튜디오와 SDK 버전업그레이드하기 안드로이드 SDK와 NDK 및자바 JDK 경로변경하기 요약 27 안드로이드스튜디오로첫번째애플리케이션만들기 _ 새로운안드로이드프로젝트생성하기 프로젝트와 SDK 설정정의하기 액티비티생성하기 애플리케이션변경하기 레이아웃과리소스파일살펴보기 요약 45 차례 v

6 CHAPTER 4 CHAPTER 5 CHAPTER 6 CHAPTER 7 안드로이드스튜디오 UI 둘러보기 _ 웰컴스크린 메인창 도구창 안드로이드스튜디오의단축키 스위처와최근파일기능을이용한내비게이션 안드로이드스튜디오테마변경하기 요약 57 안드로이드스튜디오에서 AVD 생성하기 _ AVD 개요 새로운 AVD 생성하기 에뮬레이터시작하기 AVD에서애플리케이션실행하기 Run/Debug 구성 실행중인애플리케이션중단시키기 명령행에서 AVD 조회하기 AVD 구성파일들 AVD의위치이동과이름변경 Intel HAXM 사용으로에뮬레이터성능향상시키기 요약 74 안드로이드스튜디오 AVD 에뮬레이터사용과구성하기 _ 에뮬레이터환경 에뮬레이터툴바 줌모드사용하기 에뮬레이터창의크기조정 확장제어옵션 드래그 -드롭 모의지문구성하기 멀티코어지원 요약 85 실제안드로이드장치에서애플리케이션테스트하기 _ ADB 개요 안드로이드장치에서 ADB 활성화하기 adb 연결테스트하기 안드로이드스튜디오에서장치확인하기 요약 97 vi 차례

7 CHAPTER 8 CHAPTER 9 CHAPTER 10 CHAPTER 11 안드로이드스튜디오코드편집기 _ 안드로이드스튜디오코드편집기 편집기창나누기 코드자동완성 문장자동완성 매개변수정보 코드생성 코드접어감추기 빠른문서검색 소스코드형식변환 샘플코드찾아보기 요약 110 안드로이드아키텍처개요 _ 안드로이드소프트웨어스택 리눅스커널 안드로이드런타임 ART 안드로이드라이브러리 애플리케이션프레임워크 애플리케이션 요약 116 액티비티와인텐트개요 _ 안드로이드액티비티 안드로이드인텐트 브로드캐스트인텐트 브로드캐스트수신자 안드로이드서비스 콘텐트제공자 애플리케이션매니페스트 애플리케이션리소스 애플리케이션컨텍스트 요약 121 안드로이드애플리케이션과액티비티생명주기 _ 안드로이드애플리케이션과리소스관리 안드로이드프로세스상태 액티비티생명주기 액티비티스택 액티비티상태 구성변경 요약 127 차례 vii

8 CHAPTER 12 CHAPTER 13 CHAPTER 14 CHAPTER 15 CHAPTER 16 액티비티상태변화처리하기 _ Activity 클래스 동적상태 vs. 영속적상태 안드로이드액티비티생명주기메서드 액티비티생애 액티비티가다시시작되지않게하기 요약 137 액티비티상태변화예제 _ 상태변화예제프로젝트생성하기 사용자인터페이스디자인하기 액티비티생명주기메서드오버라이딩 로그캣패널의메시지필터링하기 애플리케이션실행하기 액티비티로실험하기 요약 149 액티비티상태를저장하고복원하기 _ 동적상태저장 사용자인터페이스상태의자동저장과복원 Bundle 클래스 상태데이터저장하기 상태데이터복원하기 애플리케이션테스트하기 요약 156 안드로이드뷰, 뷰그룹, 레이아웃 _ 서로다른안드로이드장치를위한디자인 뷰와뷰그룹 안드로이드레이아웃매니저 뷰계층구조 사용자인터페이스생성 요약 163 안드로이드스튜디오레이아웃편집기살펴보기 _ Basic vs. Empty 액티비티템플릿 안드로이드스튜디오레이아웃편집기 디자인모드 팔레트 레이아웃의확대 / 축소보기 디자인뷰와청사진뷰 텍스트모드 171 viii 차례

9 16.8 속성설정하기 즐겨사용하는속성구성하기 커스텀장치정의생성하기 현재장치변경하기 요약 176 CHAPTER 17 CHAPTER 18 CHAPTER 19 안드로이드 ConstraintLayout 개요 _ ConstraintLayout 의핵심요소 기준선정렬 지시선사용하기 위젯크기구성하기 비율 ConstraintLayout 의장점 ConstraintLayout 의가용성 요약 184 안드로이드스튜디오에서 ConstraintLayout 사용하기 _ 디자인뷰와레이아웃뷰 자동연결 제약추론 수동연결 제약삭제하기 제약바이어스조정하기 ConstraintLayout 마진이해하기 상대제약과바이어스의중요성 위젯의크기구성하기 지시선추가하기 위젯의그룹정렬 다른타입의레이아웃을 ConstraintLayout 으로변환하기 요약 198 안드로이드스튜디오에서 ConstraintLayout 체인과비율사용하기 _ 체인생성하기 체인스타일변경하기 Spread inside 체인스타일 Packed 체인스타일 바이어스를사용한 Packed 체인스타일 Weighted 체인 비율사용하기 요약 208 차례 ix

10 CHAPTER 20 CHAPTER 21 CHAPTER 22 CHAPTER 23 CHAPTER 24 ConstraintLayout 예제프로젝트 _ ConstraintLayout 예제프로젝트생성하기 새로운액티비티생성하기 자동연결설정과이미지파일추가하기 위젯을사용자인터페이스에추가하기 제약추가하기 레이아웃테스트하기 레이아웃검사기사용하기 계층구조뷰어사용하기 요약 223 직접 XML 레이아웃작성하기 _ 직접 XML 레이아웃생성하기 XML 직접작성 vs. 레이아웃편집기의디자인모드사용 요약 229 ConstraintSet 으로 ConstraintLayout 관리하기 _ 자바코드 vs. XML 레이아웃파일 뷰생성하기 뷰속성 ConstraintSet 요약 237 안드로이드 ConstraintSet 예제프로젝트 _ 안드로이드스튜디오로예제프로젝트생성하기 액티비티에뷰추가하기 뷰속성설정하기 뷰 ID 생성하고사용하기 제약설정구성하기 EditText 뷰를추가하기 dp를 px로변환하기 요약 246 안드로이드이벤트처리개요 _ 안드로이드이벤트이해하기 android:onclick 리소스사용하기 이벤트리스너와콜백메서드 이벤트처리예제 사용자인터페이스디자인하기 이벤트리스너와콜백메서드 이벤트소비하기 요약 255 x 차례

11 CHAPTER 25 CHAPTER 26 CHAPTER 27 CHAPTER 28 안드로이드스튜디오의 Instant Run 사용하기 _ Instant Run 개요 Instant Run의 Swap 레벨이해하기 Instant Run의활성화와비활성화 Instant Run 사용하기 Instant Run 예제프로젝트 Instant Run의 Hot swap 수행시키기 Instant Run의 Warm swap 수행시키기 Instant Run의 Cold swap 수행시키기 Run 버튼 요약 262 터치와다중터치이벤트처리하기 _ 터치이벤트처리하기 MotionEvent 객체 터치액션이해하기 다중터치처리하기 다중터치애플리케이션생성하기 액티비티사용자인터페이스디자인하기 터치이벤트리스너구현하기 애플리케이션실행시키기 요약 271 안드로이드제스처감지클래스로일반제스처처리하기 _ 일반제스처감지와처리하기 제스처처리프로젝트생성하기 리스너클래스구현하기 GestureDetector 인스턴스생성하기 ontouchevent( ) 메서드구현하기 애플리케이션테스트하기 요약 279 커스텀제스처와핀치인식구현하기 _ 안드로이드제스처빌더애플리케이션 GestureOverlayView 클래스 제스처감지하기 제스처확인하기 제스처빌더애플리케이션의빌드와실행 제스처파일생성하기 SD 카드에서제스처파일추출하기 예제프로젝트생성하기 제스처파일을프로젝트에추가하기 사용자인터페이스디자인하기 285 차례 xi

12 28.11 제스처파일로드하기 이벤트리스너등록하기 ongestureperformed 메서드구현하기 애플리케이션테스트하기 GestureOverlayView 구성하기 제스처가로채기 핀치제스처처리하기 핀치제스처예제프로젝트 요약 294 CHAPTER 29 CHAPTER 30 CHAPTER 31 안드로이드프래그먼트개요 _ 프래그먼트란? 프래그먼트생성하기 레이아웃 XML 파일을사용하여프래그먼트를액티비티에추가하기 코드에서프래그먼트를추가하고관리하기 프래그먼트이벤트처리하기 프래그먼트간의통신구현하기 요약 304 안드로이드스튜디오에서프래그먼트사용하기 예제프로젝트 _ 예제프래그먼트애플리케이션개요 예제프로젝트생성하기 첫번째프래그먼트레이아웃생성하기 첫번째프래그먼트클래스생성하기 두번째프래그먼트레이아웃생성하기 프래그먼트를액티비티에추가하기 ToolbarFragment가액티비티와통신하게만들기 액티비티에서 TextFragment로통신하기 애플리케이션테스트하기 요약 322 오버플로메뉴생성과관리 _ 오버플로메뉴 오버플로메뉴생성하기 오버플로메뉴보여주기 메뉴항목선택에응답하기 체크가능한항목그룹생성하기 안드로이드스튜디오메뉴편집기 예제프로젝트생성하기 메뉴항목변경하기 onoptionsitemselected( ) 메서드변경하기 애플리케이션테스트하기 요약 334 xii 차례

13 CHAPTER 32 CHAPTER 33 CHAPTER 34 CHAPTER 35 안드로이드전환프레임워크 _ 안드로이드전환과장면 전환에인터폴레이터사용하기 장면전환사용하기 코드의커스텀전환과 TransitionSet XML의커스텀전환과 TransitionSet 인터폴레이터사용하기 커스텀인터폴레이터생성하기 begindelayedtransition 메서드사용하기 요약 346 begindelayedtransition 을사용한안드로이드전환 _ 안드로이드스튜디오 TransitionDemo 프로젝트생성하기 프로젝트파일준비하기 begindelayedtransition 애니메이션구현하기 우리입맛에맞는전환만들기 요약 354 안드로이드장면전환구현하기 _ 장면전환프로젝트개요 안드로이드스튜디오 SceneTransitions 프로젝트생성하기 루트컨테이너를확인하고준비하기 첫번째장면디자인하기 두번째장면디자인하기 첫번째장면보여주기 두번째장면로드하기 전환구현하기 전환파일추가하기 전환세트의로딩과사용 부가적인전환구성하기 요약 364 플로팅액션버튼과스낵바사용하기 _ 머티리얼디자인 디자인라이브러리 플로팅액션버튼 (FAB) 스낵바 예제프로젝트생성하기 프로젝트살펴보기 플로팅액션버튼변경하기 ListView를콘텐트레이아웃에추가하기 ListView에항목추가하기 액션을스낵바에추가하기 요약 378 차례 xiii

14 CHAPTER 36 CHAPTER 37 CHAPTER 38 CHAPTER 39 탭인터페이스생성하기 _ ViewPager 개요 TabLayout 컴포넌트개요 TabLayoutDemo 프로젝트생성하기 첫번째프래그먼트생성하기 프래그먼트복제하기 TabLayout 과 ViewPager 추가하기 Pager 어댑터생성하기 초기화작업하기 애플리케이션테스트하기 TabLayout 커스터마이징 아이콘탭항목보여주기 요약 392 RecyclerView 와 CardView 사용하기 _ RecyclerView 개요 CardView 개요 라이브러리를프로젝트에추가하기 요약 398 RecyclerView 와 CardView 예제프로젝트 _ CardDemo 프로젝트생성하기 플로팅액션버튼삭제하기 RecyclerView와 CardView 라이브러리추가하기 CardView 레이아웃디자인하기 RecyclerView 추가하기 RecyclerView 어댑터생성하기 이미지파일추가하기 RecyclerView 컴포넌트초기화하기 애플리케이션테스트하기 카드선택에응답하기 요약 410 앱바와컬랩싱툴바레이아웃사용하기 _ AppBar 개요 예제프로젝트 RecyclerView와 Toolbar 연동시키기 컬랩싱툴바레이아웃개요 제목과스크림색상변경하기 요약 420 xiv 차례

15 CHAPTER 40 CHAPTER 41 CHAPTER 42 CHAPTER 43 내비게이션드로어구현하기 _ 내비게이션드로어개요 드로어를열거나닫기 드로어항목선택에응답하기 내비게이션드로어액티비티템플릿사용하기 내비게이션드로어템플릿으로프로젝트생성하기 템플릿레이아웃리소스파일 헤더색상리소스파일 템플릿메뉴리소스파일 템플릿코드 앱실행하기 요약 429 안드로이드스튜디오마스터 / 디테일플로 _ 마스터 / 디테일플로 마스터 / 디테일플로액티비티생성하기 마스터 / 디테일플로템플릿살펴보기 마스터 / 디테일플로템플릿변경하기 콘텐트모델변경하기 디테일패널변경하기 WebsiteDetailFragment 클래스변경하기 WebsiteListActivity 클래스수정하기 매니페스트퍼미션추가하기 애플리케이션실행하기 요약 443 안드로이드인텐트개요 _ 인텐트개요 명시적인텐트 액티비티에서데이터반환하기 암시적인텐트 인텐트필터사용하기 인텐트사용가능여부확인하기 요약 450 명시적인텐트예제프로젝트 _ 예제프로젝트생성하기 ActivityA의사용자인터페이스디자인하기 두번째액티비티클래스생성하기 ActivityB 의사용자인터페이스레이아웃디자인하기 애플리케이션의매니페스트파일살펴보기 인텐트생성하기 인텐트데이터추출하기 458 차례 xv

16 43.8 서브액티비티로 ActivityB 론칭하기 서브액티비티에서데이터반환하기 애플리케이션테스트하기 요약 462 CHAPTER 44 CHAPTER 45 CHAPTER 46 암시적인텐트예제프로젝트 _ 암시적인텐트예제프로젝트생성하기 사용자인터페이스디자인하기 암시적인텐트생성하기 암시적인텐트로론칭되는액티비티생성하기 사용자인터페이스에웹뷰추가하기 인텐트 URL 얻기 MyWebView 프로젝트의매니페스트파일변경하기 MyWebView 패키지를장치에설치하기 애플리케이션테스트하기 요약 473 브로드캐스트인텐트와브로드캐스트수신자 _ 브로드캐스트인텐트개요 브로드캐스트수신자개요 브로드캐스트수신자로부터결과데이터받기 스티키브로드캐스트인텐트 브로드캐스트인텐트예제프로젝트 예제애플리케이션생성하기 브로드캐스트인텐트를생성하고전송하기 브로드캐스트수신자생성하기 매니페스트파일에브로드캐스트수신자구성하기 브로드캐스트애플리케이션테스트하기 시스템브로드캐스트인텐트리스닝하기 요약 487 스레드와스레드핸들러 _ 스레드개요 애플리케이션의메인스레드 스레드핸들러 기본적인스레드예제프로젝트 새로운스레드생성하기 스레드핸들러구현하기 핸들러에게메시지전달하기 요약 497 xvi 차례

17 CHAPTER 47 CHAPTER 48 CHAPTER 49 CHAPTER 50 스타트서비스와바운드서비스개요 _ 스타트서비스 인텐트서비스 바운드서비스 서비스생명주기 소멸된서비스재시작옵션제어하기 매니페스트파일에서비스선언하기 시스템구동시서비스시작시키기 요약 505 스타트서비스구현예제프로젝트 _ 예제프로젝트생성하기 Service 클래스생성하기 서비스를매니페스트파일에추가하기 서비스시작시키기 인텐트서비스테스트하기 Service 클래스사용하기 새로운서비스생성하기 사용자인터페이스변경하기 애플리케이션실행하기 서비스를처리하는새로운스레드생성하기 요약 517 로컬바운드서비스예제프로젝트 _ 바운드서비스이해하기 바운드서비스상호작용옵션 로컬바운드서비스예제프로젝트 바운드서비스를프로젝트에추가하기 Binder 구현하기 클라이언트를서비스에바인딩하기 예제프로젝트마무리하기 애플리케이션테스트하기 요약 528 원격바운드서비스예제프로젝트 _ 클라이언트에서원격서비스로통신하기 예제애플리케이션생성하기 사용자인터페이스디자인하기 원격바운드서비스구현하기 원격서비스를매니페스트파일에구성하기 원격서비스를론칭하고바인딩하기 원격서비스에메시지전송하기 요약 536 차례 xvii

18 CHAPTER 51 CHAPTER 52 CHAPTER 53 CHAPTER 54 안드로이드 7 의알림개요 _ 알림개요 NotifyDemo 프로젝트생성하기 사용자인터페이스디자인하기 두번째액티비티생성하기 알림을생성하고전달하기 알림에서액티비티를시작시키기 알림에액션추가하기 알림에소리추가하기 알림메시지묶기 요약 549 안드로이드 7 알림의직접응답구현 _ DirectReply 프로젝트생성하기 사용자인터페이스디자인하기 RemoteInput 객체생성하기 PendingIntent 객체생성하기 응답액션생성하기 직접응답입력데이터수신하기 알림변경하기 요약 558 안드로이드스튜디오에서 Firebase 사용하기 _ Firebase란? Firebase에서명하기 FirebaseNotify 프로젝트생성하기 사용자인터페이스구성하기 프로젝트를 Firebase에연결하기 새로운 Firebase 프로젝트생성하기 google-services.json 파일 Firebase 라이브러리추가하기 요약 566 Firebase 원격알림사용하기 _ Firebase 알림전송하기 알림메시지수신하기 알림에맞춤데이터포함시키기 포그라운드앱의알림처리하기 요약 574 xviii 차례

19 CHAPTER 55 CHAPTER 56 CHAPTER 57 CHAPTER 58 안드로이드 7 의다중창지원개요 _ 분할화면과자유형식및 PIP 모드 다중창모드로전환하기 자유형식모드의지원여부확인하기 다중창지원을앱에서활성화하기 다중창관련속성지정하기 액티비티에서다중창모드인지검사하기 다중창관련통지받기 다중창모드에서액티비티를시작시키기 자유형식모드로실행되는액티비티의크기와위치구성하기 요약 584 다중창예제프로젝트 _ 다중창프로젝트생성하기 FirstActivity 의사용자인터페이스디자인하기 두번째액티비티추가하기 두번째액티비티시작시키기 다중창모드활성화하기 다중창지원테스트하기 두번째액티비티를다른창에서시작시키기 자유형식창의위치와크기변경하기 요약 592 안드로이드 SQLite 데이터베이스개요 _ 데이터베이스테이블이해하기 데이터베이스스키마개요 열과데이터타입 데이터베이스행 기본키개요 SQLite란? SQL AVD에서 SQLite 사용해보기 안드로이드 SQLite 자바클래스 요약 602 TableLayout 과 TableRow 개요 _ TableLayout 과 TableRow 데이터베이스프로젝트생성하기 사용자인터페이스에 TableLayout 추가하기 TableRow 구성하기 버튼을레이아웃에추가하기 레이아웃마진조정하기 요약 610 차례 xix

20 CHAPTER 59 CHAPTER 60 CHAPTER 61 CHAPTER 62 안드로이드 SQLite 데이터베이스예제프로젝트 _ 데이터베이스예제개요 데이터모델생성하기 데이터핸들러구현하기 액티비티이벤트메서드구현하기 애플리케이션테스트하기 요약 621 콘텐트제공자이해하기 _ 콘텐트제공자란? 콘텐트제공자 콘텐트 URI 콘텐트리졸버 <provider> 매니페스트요소 요약 626 콘텐트제공자구현하기 _ Database 프로젝트활용하기 콘텐트제공자패키지추가하기 콘텐트제공자클래스생성하기 Authority와콘텐트 URI 구성하기 콘텐트제공자에 UriMatcher 구현하기 콘텐트제공자의 oncreate( ) 메서드구현하기 콘텐트제공자의 insert( ) 메서드구현하기 콘텐트제공자의 query( ) 메서드구현하기 콘텐트제공자의 update( ) 메서드구현하기 콘텐트제공자의 delete( ) 메서드구현하기 매니페스트파일에콘텐트제공자선언하기 데이터베이스핸들러변경하기 요약 642 구글클라우드스토리지액세스하기 _ 스토리지액세스프레임워크 스토리지액세스프레임워크사용하기 피커의파일내역선별하기 인텐트결과처리하기 파일의내용읽기 파일에내용쓰기 파일삭제하기 파일의지속적인액세스얻기 요약 650 xx 차례

21 CHAPTER 63 CHAPTER 64 CHAPTER 65 CHAPTER 66 안드로이드스토리지액세스프레임워크예제프로젝트 _ 스토리지액세스프레임워크예제프로젝트개요 스토리지액세스프레임워크예제프로젝트생성 사용자인터페이스디자인하기 요청코드선언하기 새로운스토리지파일생성하기 onactivityresult( ) 메서드 스토리지파일에데이터저장하기 스토리지파일을열고읽기 스토리지액세스애플리케이션테스트하기 요약 665 비디오재생구현하기 _ 안드로이드 VideoView 클래스개요 안드로이드 MediaController 클래스개요 비디오재생테스트관련사항 비디오재생예제프로젝트생성하기 VideoPlayer 애플리케이션의레이아웃디자인하기 VideoView 구성하기 인터넷퍼미션추가하기 MediaController를 VideoView에추가하기 onpreparedlistener 설정하기 요약 674 카메라인텐트를사용한비디오녹화와이미지캡처 _ 카메라지원여부확인하기 비디오캡처인텐트호출하기 이미지캡처인텐트호출하기 안드로이드스튜디오비디오녹화프로젝트생성하기 사용자인터페이스레이아웃디자인하기 카메라확인하기 비디오캡처인텐트론칭하기 인텐트의반환결과처리하기 애플리케이션테스트하기 요약 682 런타임퍼미션요청하기 _ 보통과위험퍼미션이해하기 퍼미션예제프로젝트생성하기 퍼미션확인하기 런타임시에퍼미션요청하기 퍼미션요청이유제공하기 퍼미션앱테스트하기 요약 692 차례 xxi

22 CHAPTER 67 CHAPTER 68 CHAPTER 69 CHAPTER 70 안드로이드오디오녹음과재생하기 _ 오디오재생하기 MediaRecorder 클래스를사용해서오디오녹음하기 예제프로젝트개요 AudioApp 프로젝트생성하기 사용자인터페이스디자인하기 마이크확인하기 액티비티초기화하기 recordaudio( ) 메서드구현하기 stopaudio( ) 메서드구현하기 playaudio( ) 메서드구현하기 매니페스트파일에퍼미션구성하기 애플리케이션테스트하기 요약 706 구글맵 API 사용하기 _ 구글맵안드로이드 API의구성요소 구글맵프로젝트생성하기 개발자서명얻기 애플리케이션테스트하기 지오코딩과역-지오코딩이해하기 지도를애플리케이션에추가하기 현재위치퍼미션요청하기 사용자의현재위치보여주기 지도타입변경하기 맵컨트롤을사용자에게보여주기 지도제스처처리하기 지도표식생성하기 맵카메라제어하기 요약 726 안드로이드인쇄프레임워크사용하기 _ 안드로이드인쇄아키텍처 인쇄서비스플러그인 구글클라우드인쇄 구글드라이브로인쇄하기 PDF로저장하기 안드로이드장치에서인쇄하기 안드로이드애플리케이션에포함되는인쇄지원옵션 요약 737 HTML 과웹콘텐트인쇄예제프로젝트 _ HTML 인쇄예제애플리케이션생성하기 동적 HTML 콘텐트인쇄하기 739 xxii 차례

23 70.3 기존웹페이지인쇄예제애플리케이션생성하기 플로팅액션버튼삭제하기 사용자인터페이스레이아웃디자인하기 웹페이지를 WebView에로드하기 인쇄메뉴옵션추가하기 요약 749 CHAPTER 71 CHAPTER 72 CHAPTER 73 안드로이드커스텀문서인쇄 _ 안드로이드커스텀문서인쇄개요 커스텀문서인쇄프로젝트준비하기 커스텀인쇄어댑터생성하기 onlayout( ) 콜백메서드구현하기 onwrite( ) 콜백메서드구현하기 페이지가인쇄범위에있는지확인하기 페이지캔버스에콘텐트그리기 인쇄작업시작시키기 애플리케이션테스트하기 요약 767 안드로이드지문인증구현하기 _ 지문인증개요 지문인증프로젝트생성하기 장치의지문인증구성하기 지문퍼미션을매니페스트파일에추가하기 지문아이콘다운로드하기 사용자인터페이스디자인하기 KeyguardManager와 FingerprintManager 사용하기 장치의보안설정확인하기 안드로이드 Keystore와 KeyGenerator 사용하기 키생성하기 Cipher 초기화하기 CryptoObject 인스턴스생성하기 지문인증처리클래스구현하기 프로젝트테스트하기 요약 786 서로다른안드로이드장치와화면처리하기 _ 서로다른장치화면처리하기 화면크기에맞는레이아웃생성하기 안드로이드스튜디오에서다양한크기의레이아웃생성하기 서로다른이미지제공하기 하드웨어지원여부확인하기 특정장치에맞는애플리케이션바이너리제공하기 요약 792 차례 xxiii

24 CHAPTER 74 CHAPTER 75 CHAPTER 76 안드로이드애플리케이션릴리스하기 _ 릴리스준비절차 빌드변이변경하기 ProGuard 활성화하기 키스토어파일생성하기 개인키생성하기 애플리케이션 APK 파일생성하기 구글플레이개발자콘솔계정등록하기 새로운 APK 버전을구글플레이개발자콘솔에업로드하기 APK 파일분석하기 요약 803 구글플레이인앱결제를애플리케이션에통합하기 _ 구글플레이결제라이브러리설치하기 인앱결제예제프로젝트생성하기 결제퍼미션을매니페스트파일에추가하기 IInAppBillingService.aidl 파일을프로젝트에추가하기 유틸리티클래스를프로젝트에추가하기 사용자인터페이스디자인하기 Click Me! 버튼구현하기 구글플레이개발자콘솔과구글계정 애플리케이션의공개인증키받기 애플리케이션에서구글플레이결제설정하기 구글플레이인앱결제구입을초기설정하기 onactivityresult 메서드구현하기 구입종료리스너구현하기 구입제품소비하기 IabHelper 인스턴스해제하기 Security.java 파일변경하기 인앱결제애플리케이션테스트하기 릴리스용 APK 빌드하기 새로운인앱제품생성하기 알파배포채널로애플리케이션제출하기 인앱결제테스트계정추가하기 그룹테스트구성하기 인앱구입의문제해결하기 요약 828 안드로이드스튜디오의그래들개요 _ 그래들개요 그래들과안드로이드스튜디오 최상위수준의그래들빌드파일 모듈수준의그래들빌드파일들 빌드파일에서명설정구성하기 명령행에서그래들작업실행하기 요약 840 xxiv 차례

25 CHAPTER 77 안드로이드스튜디오그래들빌드예제프로젝트 _ 빌드변이예제프로젝트생성하기 빌드플레이버를모듈빌드파일에추가하기 플레이버를프로젝트구조에추가하기 리소스파일을플레이버에추가하기 빌드플레이버테스트하기 빌드변이와클래스파일 빌드플레이버에패키지추가하기 각플레이버의액티비티클래스변경하기 요약 부록 A, B 는독자들의이해를위해옮긴이가작성한특별부록입니다. 아래의사이트에서예제프로젝트파일과함께무료로다운로드받으실수있습니다. URL APPENDIX A 코틀린핵심파악하기 : 개요와실습환경구축 A.1 코틀린언어개요 A.2 자바 JDK 설치하기 A.3 코틀린컴파일러설치하기 A.4 코틀린으로네이티브애플리케이션작성과실행하기 A.5 요약 APPENDIX B 코틀린핵심파악하기 : 구성요소와문법 B.1 코틀린프로그램구조 B.2 코틀린변수 B.3 코틀린의타입 B.4 연산자와연산자오버로딩 B.5 Null 타입처리메커니즘 B.6 코드실행제어 B.7 함수 B.8 클래스와인터페이스 B.9 람다식 B.10 예외처리 B.11 package와 import 차례 xxv

26 정성과최선을다했습니다. 한마디로요약해서독자여러분께드리고싶은제진심의표현입니다. 용어하나하나, 내용모두에걸쳐심사숙고하였으며, 실습용프로젝트코드의작성및수정과테스트를병행하여이책을완성하였습니다. 이책에서는안드로이드스튜디오를사용해서안드로이드애플리케이션을개발하는데필요한핵심적인내용을알려줍니다. 즉, 안드로이드스튜디오를사용하는데꼭필요한내용은물론이고, 안드로이드애플리케이션개발에반드시알아야할내용도골고루가르쳐줍니다. 그리고이모든것을안드로이드스튜디오의실습프로젝트로구성하여독자여러분이직접만들어체험하면서쉽게배울수있도록구성되었습니다. 또한, 안드로이드프로그래밍기법과안드로이드스튜디오의최신기능을반영하고있습니다. 따라서안드로이드스튜디오를사용해서안드로이드애플리케이션개발을배우고시작하려는분들께적극권하고싶은책입니다. 또한, 안드로이드스튜디오를빠른시간내에파악하고싶은기존개발자분들께도권하고싶습니다. 이책을번역하면서다음과같은부분에중점을두었습니다. 1. 모든내용을안드로이드스튜디오 3 최신버전에맞춰수정하고보충하였습니다. 2. 용어선정에신중을기하고독자여러분의이해를돕는데필요한설명을많이추가하였습니다. 3. 책의각종프로젝트를독자여러분이만들면서실습하는데도움이될수있도록결함을수정하고미비한점을보완하였습니다. xxvi 옮긴이머리말

27 이책은더욱강력해진안드로이드스튜디오 3를기준으로만든최신안드로이드도서입니다. 독자여러분께도움이될수있는책을만들어야한다는집념이있었기에가능했던것같습니다. 이책을출간하는데아낌없는배려와수고를해주신제이펍출판사의장성두사장님과이민숙과장님께진심으로감사드립니다. 2017년 7월옮긴이 드림 옮긴이머리말 xxvii

28

29 C H A P T E R 1 개요 이책은최신버전의안드로이드스튜디오 (Android Studio) 와안드로이드 SDK(Software Development Kit) 를사용해서안드로이드애플리케이션 (application, 줄여서 app) 을개발하는데필요한기법을가르쳐준다. 안드로이드스튜디오는안드로이드애플리케이션을개발할때사용하는통합개발환경 (IDE, Integrated Development Environment) 이다. 우선은안드로이드애플리케이션을개발하고테스트하는환경을구축하는데필요한내용을설명한다. 그리고안드로이드스튜디오의주요기능과사용법을살펴본다. 예를들어, 각종도구창, 코드편집기, 레이아웃편집기와같은것들이다. 또한, 인스턴트런 (Instant Run) 기능과향상된 AVD(Android Virtual Device) 에뮬레이터도살펴본다. 그다음에안드로이드의아키텍처를간략히살펴본후안드로이드스튜디오를사용해서애플리케이션과사용자인터페이스를설계하고만드는방법들을자세히알아볼것이다. 이때데이터베이스, 콘텐트제공자 (content provider), 인텐트 (intent) 와같은여러고급주제들도다룬다. 또한, 터치스크린처리, 제스처인식, 카메라사용, 비디오와오디오의재생과녹화방법도설명한다. 그리고인쇄, 애니메이션화면전환, 클라우드기반파일스토리지도다룬다. 이러한보편적인안드로이드애플리케이션개발기법들외에도이책에서는구글플레이 (Google Play) 와연관된내용들도설명한다. 구글맵 (Google Map) API를사용한지도구현이라든지, 구글플레이개발자콘솔에우리가만든애플리케이션을게시하고인앱결제 (in-app billing) 를하는방법등이다. 1

30 또한, 애플리케이션프로젝트파일들을구성및관리하고빌드 (build) 하기위해안드로이드스튜디오에서플러그인하여사용하는자동화프로젝트시스템 ( 도구 ) 인그래들 (Gradle) 에대해서도살펴본다. 그리고안드로이드버전 5( 롤리팝 ) 에소개된머티리얼 (material) 디자인의개념과안드로이드버전 6( 마시멜로 ) 에서완벽하게구현된머티리얼사용자인터페이스도설명한다. 즉, 플로팅액션버튼 (floating action button), 스낵바 (Snackbar), 탭인터페이스 (tabbed interface), 카드뷰 (card view), 내비게이션드로어 (navigation drawers), 컬랩싱툴바 (collapsing toolbar) 등이다. 또한, 변경된퍼미션메커니즘과지문인식구현방법도알아본다. 더불어안드로이드스튜디오최신버전에서새롭게변경된레이아웃편집기의기능과사용법을알려주며, 안드로이드버전 7( 누가 ) 에새로추가된 ConstraintLayout 클래스, 직접응답알림 (direct reply notifications), Firebase 서비스, 다중창지원 (multi-window support) 기능의개념과구현방법도배운다. 이책에서는여러분이자바 (Java) 프로그래밍을해본경험이있다고간주하므로자바언어에관한언급은따로하지않을것이다. 그리고윈도우 (Windows) 나맥 (Mac) 또는리눅스 (Linux) 가실행되는컴퓨터가있고안드로이드스튜디오와안드로이드 SDK를다운로드및설치할수있으면시작준비가된것이다. 이책의모든본문과그림및프로젝트코드는안드로이드스튜디오최신버전 (3.0 이상 ) 을사용하여작성되었다. 따라서독자여러분이안드로이드스튜디오를사용한최신안드로이드프로그래밍을배우는데어려움이없을것이다. 1.1 안드로이드스튜디오의장점 안드로이드스튜디오에서는종전의이클립스 IDE보다훨씬강력하고특화된기능을제공한다. 그리고앞으로구글에서는구글클라우드플랫폼 (Google Cloud Platform) 과연계시켜더욱확장된기능을제공할것이다. 중요한것만요약하면다음과같다. 유연성이좋은그래들 (Gradle) 기반의자동화프로젝트빌드시스템을사용한다 ( 이클립스에서는 Ant 사용 ). 하나의프로젝트코드로여러안드로이드장치용애플리케이션을구현할수있다. 이기능은안드로이드웨어 (Android Wear) 에서특히유용하다. 2 CHAPTER 1 개요

31 구글의각종서비스와다양한장치유형을지원하는각종템플릿들이있어서프로젝트에필요한기본적인코드와파일들을자동으로생성해준다. 그래픽레이아웃편집기의기능이강력하고사용하기쉬워서사용자인터페이스디자인이편리하다. 코드의성능이나버전호환성및기타문제점을잡아내는 Lint의기능이강화되었다. 구글클라우드플랫폼을자체적으로지원하여구글클라우드메시징 / 앱엔진과쉽게통합할수있다. 우리의코드를사전에분석하여완성도를보완해주고리팩토링 (refactoring) 을해주는각종분석도구를지원한다. 1.2 소스코드다운로드하기 이책에나오는각종예제의안드로이드스튜디오프로젝트파일들은다음에서다운로드할수있다. URL 예제프로젝트코드를안드로이드스튜디오로로드하는절차는다음과같다. 1. Welcome to Android Studio 대화상자에서 Open an existing Android Studio project를선택하거나안드로이드스튜디오메인메뉴의 File Open... 을선택한다. 2. 프로젝트선택대화상자가나오면열려는프로젝트관련파일들이있는서브디렉터리 ( 프로젝트이름과동일함 ) 를선택하고 OK를클릭한다. 3. Sync Android SDKs 대화상자가나오면 OK를클릭한다 ( 열려는프로젝트에지정되어있는안드로이드 SDK 설치디렉터리와현재사용중인컴퓨터의안드로이드 SDK 설치디렉터리가달라서이대화상자가나오는것이다. OK를클릭하면현재사용중인컴퓨터의안드로이드 SDK 설치디렉터리가프로젝트의디폴트로사용된다 ). 4. 만일프로젝트가로드되면서 Android Gradle Plugin Update Required 대화상자가나타날때는반드시 Update 버튼을클릭해야한다 ( 프로젝트에포함되는그래들플러그인의버전이업데이트되어야하기때문이다 ). 5. 프로젝트가로드된후아무창도열려있지않으면 Alt와숫자 1[ 맥 OS X에서는 Cmd와숫자 1] 키를같이눌러프로젝트도구창을연후필요한파일을편집기창으로로드한다. 1.2 소스코드다운로드하기 3

32 이책의실습프로젝트에서는여러가지의최소 SDK 버전을사용한다. 안드로이드 5.1( 롤리팝, API 22), 안드로이드 6.0( 마시멜로, API 23), 안드로이드 7.x( 누가, API 24/25) 등이다. 그리고애플리케이션으로실행할때는안드로이드 8(API 26) AVD 에뮬레이터와실제장치 ( 스마트폰 ) 를같이사용하였다. 만일다운로드한프로젝트소스를에뮬레이터가아닌각자의스마트폰이나태블릿으로실행하고자할때는그장치의안드로이드버전과같거나또는낮은버전으로최소 SDK 버전을변경해야한다. 이때는프로젝트도구창의 Gradle Scripts build.gradle (Module: app) 파일을더블클릭하여편집기에로드한후, minsdkversion 번호를해당안드로이드버전의 API 레벨번호로수정하고실행하면된다 ( 그림 1-1). 그림 단축키와코드표기 이책에서는두개이상의키보드키를누를때 + 기호로나타내었다. 예를들어, Alt 키와 Enter 키를같이누를때는 Alt + Enter로표기하였다. 또한, 단축키는윈도우키 [ 맥 OS X 키 ] 의형태로표시되어있다. 예를들면 Alt + Enter[Option + Enter]. 소스코드의삭제는글자가운데를가로지르는취소선으로표시하였으며, 추가되는코드는진한글씨로나타내었다. 1.4 안드로이드스튜디오최신버전사용하기 이책의모든내용은안드로이드스튜디오 3.0 Canary 8 릴리즈를기준으로작성되었다. 따라서안드로이드스튜디오 3.0 이전버전과는다른부분이있을수있으므로반드시안드로이드스튜디오 3.0 이상으로실습해야한다. 만일이책이출간된후에도안드로이드스튜디오 3.0 공식버전이발표되지않았다면, 다음을방문하여프리뷰버전을다운로드받자. 4 CHAPTER 1 개요

33 URL 그리고별도의설치없이압축을푼후 \bin 서브디렉터리에있는 studio.exe(32비트 ) 또는 studio64.exe(64비트 ) 를실행하면안드로이드스튜디오를사용할수있다. 단, 안드로이드 SDK 와자바 JDK를설치해야하므로 2장에서설명한대로현재의공식버전도설치하기바란다 ( 안드로이드스튜디오는서로다른버전을설치하고사용해도문제가생기지않는다 ). 1.5 독자 A/S 여러분이만족하는책이되었으면한다. 혹시오류를발견하거나문의사항이있으면 hanafos.com 혹은 으로메일을보내주기바란다. 1.6 오탈자 이책의내용에오류가없도록최선의노력을했지만, 혹시오탈자가있을지도모르겠다. 그런 경우는제이펍 ( 의이책소개페이지에있는정오표코너에서안내하도록하겠다. 1.6 오탈자 5

34 C H A P T E R 20 ConstraintLayout 예제프로젝트 안드로이드스튜디오레이아웃편집기를사용하면쉽고생산성높은방법으로안드로이드애플리케이션의사용자인터페이스를디자인할수있다. 이번장에서는안드로이드스튜디오레이아웃편집기를사용해서 ConstraintLayout 기반의사용자인터페이스를생성하는방법을알아본다. 또한, 레이아웃검사기와계층구조뷰어도구의사용법도설명한다 ConstraintLayout 예제프로젝트생성하기 우선, 새로운안드로이드스튜디오프로젝트를생성하자. 안드로이드스튜디오메인메뉴의 File New New Project... 를선택하거나웰컴스크린에서 Start a new Android Studio project를선택한다. 그러면새프로젝트를생성하는첫번째대화상자가나타날것이다. Application name 필드에는 LayoutSample을입력하고, Company Domain에는 ebookfrenzy. com을입력한후 Next 버튼을누르자. 안드로이드장치선택화면에서는폰과태블릿 (Phone and Tablet) 을선택하고, 최소 SDK는 API 22: Android 5.1 (Lollipop) 을그대로둔다. Next 버튼을누르면액티비티타입을선택하는대화상자가나올것이다. 앞의다른장에서는 Empty Activity와같은템플릿을선택해서프로젝트액티비티를자동생성했었다. 그러나여기서는새로운액티비티와그것의레이아웃리소스파일을직접생성하는방법을배울것이므로 Add No Activity를선택하고 Finish 버튼을눌러서프로젝트를생성한다. 209

35 20.2 새로운액티비티생성하기 새프로젝트의생성이끝나면안드로이드스튜디오메인창이텅빈공간으로나타날것이다. 다음으로할일은새액티비티를생성하는것이다. 안드로이드애플리케이션을개발할때아무액티비티도없는상태에서새로운액티비티를생성할필요가있는경우가더러있다. 따라서여기서작성하는예제가도움이될것이다. Alt + 1 [ Cmd + 1 ] 단축키를눌러서프로젝트도구창을열자. 프로젝트도구창의각폴더를다음과같이확장시켜서 app java com.ebookfrenzy.layoutsample 패키지를찾자. 그리고패키지이름에서마우스오른쪽버튼을클릭한후 New Activity Empty Activity 를선택한다 ( 그림 20-1). 그림 20-1 새액티비티생성대화상자가나오면 Activity Name에 LayoutSampleActivity 를입력하자. 또한, 자동으로설정된 Layout Name인 activity_layout_sample은그대로두고 Generate Layout File 도체크된상태로둔다. 레이아웃리소스파일은자동생성할필요가있기때문이다. 또한 Backwards Compatibility (AppCompat) 도체크된상태로둔다. 우리앱이구버전의안드로이드에서실행되더라도호환이되도록하기위함이다. 잠깐, 아직 Finish 버튼은누르지말자! 210 CHAPTER 20 ConstraintLayout 예제프로젝트

36 애플리케이션이장치에서실행되기위해서는론처액티비티 (launcher activity) 라는액티비티를갖고있어야한다. 론처액티비티가없으면애플리케이션이최초론칭될때어떤액티비티를시작시켜야하는지안드로이드운영체제가알수없다. 따라서애플리케이션이시작되지못한다. 여기서는하나의액티비티만갖고있으므로그것을우리애플리케이션의론처액티비티로지정해야한다. 대화상자에서 Launcher Activity 옵션을체크한후 Finish 버튼을누르자. 이제는안드로이드스튜디오가두개의파일을우리프로젝트에추가했을것이다. 액티비티의자바소스코드파일 (LayoutSampleActivity.java) 은 app java com.ebookfrenzy.layoutsample 폴더에있으며, 편집기창에이미로드되었을것이다. 또한, 사용자인터페이스의 XML 레이아웃파일 (activity_layout_sample.xml) 은 app res layout 폴더에생성되었으며, 이것역시편집기창에이미로드되었을것이다. 끝으로, 새로생성된액티비티가 AndroidManifest.xml 파일에추가되어론처액티비티로지정되어있을것이다. 매니페스트파일도프로젝트창에서볼수있다. app manifests 폴더밑에있으며다음의 XML을포함한다. 여기서 <intent-filter> 와 </intent-filter> 태그사이에있는 category 요소에론처액티비티로지정된다. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.ebookfrenzy.layoutsample"> <application android:allowbackup="true" android:supportsrtl="true" <activity android:name=".layoutsampleactivity"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> 20.2 새로운액티비티생성하기 211

37 20.3 자동연결설정과이미지파일추가하기 편집기의 activity_layout_sample.xml 레이아웃파일탭을클릭하고편집기창의제일밑에있는 Design 탭을클릭하여디자인모드로변경한다. 그리고컴포넌트트리에서레이아웃 (ConstraintLayout) 을클릭한후만일레이아웃편집기왼쪽위의 Autoconnect 버튼모양이이면클릭하여그림 20-2 처럼로변경한다. 자동연결을비활성화한후나중에우리가직접제약연결을추가하는방법을배우기위해서다. 그림 20-2 여기서는 ImageView 객체를사용해서이미지를보여줄것이다. 따라서프로젝트에이미지파일을추가해야한다. 파일이름은 galaxys6.png 이며, 이책의프로젝트파일을다운로드받으면 Material_Icons 디렉터리밑에있다. 이미지파일을각자컴퓨터운영체제의파일시스템에서찾은후클립보드로복사한다. 그리고프로젝트도구창의 app res drawable에서오른쪽마우스버튼을클릭한후 Paste를선택하고대화상자에서 OK 버튼을누른다. 그림 20-3처럼제대로복사가되었는지확인한다. 그림 위젯을사용자인터페이스에추가하기 팔레트의 Images 부류에있는 ImageView 를마우스로끌어서레이아웃의중앙에놓으면 ( 수직과수평의점선이만나는곳이중앙이다 ) Resources 대화상자가나타난다. 제일왼쪽위에 212 CHAPTER 20 ConstraintLayout 예제프로젝트

38 있는 Drawable 을클릭하고바로오른쪽의 Project 밑에있는 galaxys6 을클릭한다 ( 그림 20-4). 그림 20-4 OK 버튼을누르면이이미지가 ImageView 에지정된다. 그리고부모레이아웃과약간의좌우 여백이생기도록 ImageView 의크기를조정한후마우스로끌어서레이아웃의중앙으로이동 시킨다 (ImageView 의네개꼭지점에나타난작은사각형을마우스로끌면크기를조정할수있다 ). 그림 위젯을사용자인터페이스에추가하기 213

39 팔레트의 Text 부류에있는 TextView를끌어서 ImageView 위쪽에놓는다. 그리고속성창에서 text 속성을 Samsung Galaxy S6 으로변경하고모든속성보기버튼 ( ) 을클릭하여모든속성이나타나게한다. textalignment의오른쪽필드를클릭하여드롭다운에서 center를선택하고 textsize 속성의값을 24sp(dp 아님 ) 로입력한후 TextView가수평으로중앙에오도록조정한다 ( 그림 20-6). 그림 20-6 그다음에세개의버튼을추가하고각버튼의 text 속성값을 Buy Now, Pricing, Details 로 변경한다. 완성된레이아웃은그림 20-7 과같다. 214 CHAPTER 20 ConstraintLayout 예제프로젝트 그림 20-7

40 현재는각위젯의위치와크기를제어하는데필요한제약이충분하게추가되어있지않다. 따라서이상태로앱을실행한다면모든위젯들이화면의왼쪽위모서리에겹쳐서나타날것이다. 현재상태에서레이아웃편집기툴바의화면방향전환버튼 ( 그림 20-8의화살표로표시됨 ) 을클릭하여가로방향으로화면을회전시키자. 그림 20-8 이그림을보면알수있듯이, 이미지의일부가잘린상태로중앙에도위치하지않으며, 세개 의버튼은화면영역을벗어나서아예보이지도않는다. 화면크기변화에맞춰레이아웃과 위젯을적합하게나타낼제약이지정되지않았기때문이다 제약추가하기 장치의방향변경이나서로다른화면크기에적응가능한레이아웃을생성하는핵심요소가제약이다. 레이아웃을다시세로방향으로돌려놓고 ImageView 위에있는 TextView 를선택한다. 그리고왼쪽과오른쪽및위의제약핸들 ( 작은원 ) 을마우스로끌어서부모인 ConstraintLayout에각각연결한다 ( 그림 20-9). 그림 제약추가하기 215

41 같은요령으로 ImageView 를선택하고왼쪽과오른쪽의상대제약을부모레이아웃에연결한 다. 그리고위쪽은 TextView 의아래쪽으로, 아래쪽은중앙버튼의위쪽과연결한다. 그다음에 ImageView가선택된상태에서자주사용하는속성만나타나게한다 ( 만일모든속성이나타나있으면모든속성보기버튼 ( ) 을다시클릭.) 그리고속성창위에서위쪽마진을 24로, 아래쪽마진을 8로변경한다. 또한, 높이와너비크기를 0dp 또는 match_constraint 로변경한다 ( 그림 20-10). 이렇게설정하면화면크기에따라레이아웃이변경될때 ImageView의크기가자동으로조정된다. 그림 그림 은현재 ImageView 에추가된제약연결을보여준다. 그림 CHAPTER 20 ConstraintLayout 예제프로젝트

42 이제는세개의버튼위젯에제약을추가하는것만남았다. 여기서는세개의버튼을하나의체인 (chain) 으로연결한다. 우선, 그림 20-2 의 Autoconnect 버튼을클릭하여로바꾼다. 제약의자동연결을활성화시키기위함이다. 그다음에 Buy Now 버튼을클릭한후 Shift 키를누른채로나머지두버튼도클릭하여세버튼모두선택되도록한다. 그리고 Shift 키를떼고 Buy Now 버튼에서오른쪽마우스버튼을클릭하고메뉴의 Center Horizontally를선택한다. 앞장에서얘기했듯이, 이렇게하면선택된위젯들간의양방향제약을쉽게추가하여체인을구성할수있다. 이제는세버튼이체인으로구성되었다. 기본적으로체인스타일은 spread 스타일이된다. 여기서는이스타일이적합하다. 끝으로, Buy Now 버튼의아래쪽과레이아웃의아래쪽을제약으로연결한다. 또한, 나머지두버튼도같은방법으로레이아웃의아래쪽에연결한다. ( 각버튼을선택하고아래쪽연결점 ( 작은원 ) 을클릭한후연결선을끌어서레이아웃의아래쪽에가져가면연결점이초록색으로나타난다. 이때마우스버튼을놓으면자동으로제약이추가된다.) 이모든작업이끝나면그림 와같이세버튼의제약이연결된다. 그림 레이아웃테스트하기 모든제약연결이추가되었으므로레이아웃편집기툴바의화면방향전환버튼을다시클릭하여가로방향으로화면을회전시키자. 이제는변경된화면크기에맞추어레이아웃이제대로나타날것이다. 이로써디자인시점에서레이아웃편집기로확인한결과는이상없이잘된것이다. 다음은앱이실제실행될때도잘되는지확인해보자. 실제장치나에뮬레이터에서우리앱을실행한후가로방향으로장치를회전시켜보자. 예를들어, 그림 20-13에서는에뮬레이터에서화면방향을전환한결과를보여준다 레이아웃테스트하기 217

43 그림 위그림을보면알수있듯이, 앱을실행할때도레이아웃이제대로나타나는것을알수있 다. 이보다더복잡한레이아웃을디자인할때도마찬가지방법으로하면된다. 즉, 팔레트로 부터위젯을끌어서레이아웃에놓은후속성을설정하고제약을추가하면된다 레이아웃검사기사용하기 사용자인터페이스레이아웃을구성하는컴포넌트들의정보는레이아웃검사기 (Inspector) 를사용해서볼수있다. 단, 실제장치나에뮬레이터에서앱이실행중일때만가능하다. 앞의그림 20-13과같이가로방향으로앱의화면이나타난상태에서메인메뉴의 Tools Android Layout Inspector를선택한다. 그리고 Choose Process 대화상자에서현재실행중인애플리케이션프로세스인 com.ebookfrenzy.layoutsample을선택하고 OK 버튼을클릭한다. 그림 처럼세개의패널이나타난다 ( 여기서는프로젝트도구창을닫은상태다 ). 그림 CHAPTER 20 ConstraintLayout 예제프로젝트

44 왼쪽패널에서는사용자인터페이스레이아웃을구성하는컴포넌트들의계층구조를보여준다. 그리고중앙패널에서는장치화면에나타난레이아웃을보여준다. 여기서특정위젯을클릭하면그것과연관된컴포넌트를왼쪽패널의계층구조에서찾아서표시해준다. 또한오른쪽패널에서는현재선택된컴포넌트의모든속성과설정값을보여준다 계층구조뷰어사용하기 액티비티의뷰계층구조를자세히살펴보는데유용한도구가계층구조뷰어 (Hierarchy Viewer) 다. 이도구의주목적은현재실행중인애플리케이션에있는액티비티의뷰트리전체를자세하게보여주는것이다. 더불어레이아웃을화면에그리는성능도살펴볼수있다. 계층구조뷰어는안드로이드에뮬레이터에서실행되거나또는안드로이드개발 (development) 버전을실행하는장치에서만사용될수있다. 그러면이번장에서생성된 LayoutSample 애플리케이션에대해계층구조뷰어를실행해보자. 우선, AVD 에뮬레이터에서 LayoutSample 애플리케이션을시작시킨다. 그리고에뮬레이터에서화면이보일때까지기다리자. 그다음에안드로이드스튜디오메인메뉴에서 Tools Android Android Device Monitor를선택한다 ( 혹시 Disable ADB Integration 대화상자가나타나면 OK 버튼을누른다 ). 잠시후안드로이드장치모니터 (DDMS) 창이별도로열릴것이다. 안드로이드장치모니터메인메뉴의 Window Open Perspective... 를선택한후그다음대화상자에서 Hierarchy View를선택하고 OK 버튼을누른다. 그러면장치모니터창에계층구조뷰어가나타난다. 계층구조뷰어는여러개의패널로구성된다. 그림 20-15처럼보이는왼쪽패널의왼쪽위에있는 Windows 탭을클릭하면장치나에뮬레이터 ( 여기서는 Nexus5X) 에서현재동작가능한모든창 (window) 을보여준다 ( 계층구조뷰어에서는액티비티나프로세스대신 창 이라는용어를사용한다 ). 굵은글씨로된창이현재포그라운드로동작중인창이며, 여기서는 LayoutSampleActivity다. 그림 계층구조뷰어사용하기 219

45 우리애플리케이션프로세스인 com.ebookfrenzy.layoutsample.layoutsampleactivity 가선택된 상태에서툴바의버튼 ( 20-16). ) 을클릭하면뷰의계층구조가트리뷰로로드되어나타난다 ( 그림 그림 트리뷰패널밑에있는스케일바 (% 로표시됨 ) 를사용하거나마우스휠을돌리면트리뷰를줌인 / 줌아웃할수있다. 그러나대부분의경우트리가너무커서전체를한번에보기는힘들것이다. 그러므로마우스를클릭한채로끌어서트리를이동하여보거나, 또는오른쪽위에있는트리오버뷰 (Tree Overview) 패널안에서렌즈를이동시켜보면된다 ( 그림 20-17). 그림 CHAPTER 20 ConstraintLayout 예제프로젝트

46 트리뷰에는액티비티레이아웃에포함된뷰와더불어다른뷰들이같이나타날수있다는것을염두에두자. 예를들어, 화면맨위에나타나는액션바 (action bar), 또는액티비티가나타나는영역을제공하는레이아웃뷰등이다. 트리뷰에서특정노드를선택하면그것과일치하는사용자인터페이스요소가레이아웃뷰 ( 오른쪽하단의패널에서 Layout View 탭을클릭 ) 에빨간색으로강조되어표시된다. 그림 20-18에서는 ConstraintLayout 뷰가선택된경우를보여준다. 그림 마찬가지로, 레이아웃뷰에서특정뷰를선택하면그것과일치하는트리뷰의노드로이동되어강조표시된다. 뷰의추가정보는트리뷰에서그것의노드를선택하여얻을수있다. 해당노드를더블클릭하면팝업대화상자에서추가정보를보여준다. 예를들어, 그림 20-19에서는 LayoutSample 애플리케이션의 DETAILS 버튼노드를더블클릭했을때나타난대화상자를보여준다. (AVD 에뮬레이터를생성했던시스템이미지가구버전일때는팝업대화상자가나타나지않을수있다. 이때는 AVD 에뮬레이터를삭제하고최신버전으로생성한후앱을실행한다. 또한, 안드로이드장치모니터도다시실행시킨다.) 그림 계층구조뷰어사용하기 221

47 트리뷰에서는선택된레이아웃뷰를다시그리는작업을수행하거나, 또는트리뷰를 PNG 이미지파일로저장하는툴바버튼도제공한다 ( 트리뷰창의오른쪽위에있는각툴바버튼에마우스커서를대보면해당버튼의기능을설명하는텍스트가나온다 ). 또한, 선택된노드의뷰가그려지는성능정보를보기위해계층구조뷰어를사용할수도있다. 이때는루트뷰 ( 여기서는 ConstraintLayout) 로동작하는노드를선택한후그림 20-20에화살표로표시된툴바버튼을클릭하면된다. 그림 그러면각유형별 ( 측정치, 레이아웃, 그리기 ) 성능을나타내는점들이해당노드에나타난다 ( 그림 20-21). 여기서빨간색점은액티비티의다른뷰에비해그뷰의성능이느리다는것을나타낸다. 많은수의자식뷰들을갖고있는컨테이너뷰의성능은빨간색점으로나타날수있다. 왜냐하면각자식뷰들이모두그려질때까지기다려야하기때문이다. 그렇다고해서그컨테이너뷰가성능상의문제가있음을나타내는것은아니다. 그림 CHAPTER 20 ConstraintLayout 예제프로젝트

48 20.9 요약 안드로이드스튜디오의레이아웃편집기는안드로이드 7( 누가 ) 에추가된 ConstraintLayout 클래스와밀접하게통합되어있다. 이번장에서는레이아웃편집기를사용해서 ConstraintLayout 기반의사용자인터페이스를생성하는방법을알아보았다. 이때가장중요한것이제약연결을생성하는것이다. 또한, 레이아웃검사기와안드로이드장치모니터의계층구조뷰어를사용하는방법도살펴보았다. 이런도구들은사용자인터페이스레이아웃을구성하는컴포넌트를분석하는데유용하게사용될수있다 요약 223

49 C H A P T E R 56 다중창예제프로젝트 앞장에서설명한다중창지원개요에이어서이번장에서는다중창지원을구현하는안드 로이드앱을만들것이다. 이번장에서생성하는프로젝트에서는여러개의액티비티를분할 화면모드와자유형식모드로구성하고관리하는방법을보여준다 다중창프로젝트생성하기 우선, 새프로젝트를생성하자. 안드로이드스튜디오메인메뉴의 File New New Project... 를선택하거나웰컴스크린에서 Start a new Android Studio project를선택한다. Application name 필드에 MultiWindow를입력하고, Company Domain 필드에는 ebookfrenzy. com을입력한다. 안드로이드장치선택화면에서는폰과태블릿 (Phone and Tablet) 만선택하고, 최소 SDK 버전은 API 24: Android 7.0 (Nougat) 으로선택한다. 액티비티선택화면에서는 Empty Activity 를선택한다. 그리고마지막대화상자에서 Activity Name에 FirstActivity 를입력하고자동으로설정된나머지필드값은그대로둔다. Finish 버튼을눌러프로젝트를생성한다 FirstActivity 의사용자인터페이스디자인하기 여기서는사용자인터페이스를하나의 Button 과 TextView로구성한다. 레이아웃편집기에열려있는레이아웃파일인 activity_first.xml의탭을클릭하여선택한후디자인모드로변경한다. 그리고 Hello World! 를보여주는 TextView를삭제하자. 585

50 자동연결 (Autoconnect) 이활성화된상태에서 (18장참조 ) 팔레트의 Text 부류에있는 TextView를마우스로끌어서레이아웃의중앙에놓고 ID를 mytextview 로변경한다. 또한 Widgets 부류에있는 Button을끌어서 TextView 밑에놓자. 그리고레이아웃편집기의제약추론버튼 ( ) 을클릭한다 (18장참조 ). 이렇게하면 Button의제약연결이자동으로추가된다. Button이선택된상태에서속성창의 text 속성을 Launch 로변경하고이값을문자열리소스로추출한다. 또한, onclick 속성을찾아속성값으로 launchintent를입력한다. 이것은버튼을클릭했을때실행될메서드다. 완성된레이아웃은그림 56-1 과같다. 그림 두번째액티비티추가하기 두번째액티비티는사용자가첫번째액티비티의버튼을클릭 ( 터치 ) 하면시작되게할것이다. 프로젝트도구창의 app java 밑에있는 com.ebookfrenzy.multiwindow 패키지에서오른쪽마우스버튼을누른후 New Activity Empty Activity 를선택한다. 그리고액티비티구성대화상자에서 Activity Name을 SecondActivity로변경하고 Layout Name은 activity_second로변경한다. 이액티비티는애플리케이션이시작될때바로실행되는것이아니므로 Launcher Activity 를체크하지말아야한다. 나머지는기본값그대로두고 Finish 버튼을누른다. 586 CHAPTER 56 다중창예제프로젝트

51 레이아웃편집기에열려있는레이아웃파일인 activity_second.xml의탭을클릭하여선택한후디자인모드로변경한다. 그리고팔레트의 TextView를마우스로끌어서레이아웃의중앙에놓고속성창의 text 속성을 Second Activity 로변경하고 layout_width 속성을 wrap_ content로변경한다. 완성된레이아웃은그림 56-2 와같다. 그림 두번째액티비티시작시키기 그다음에는 FirstActivity 클래스에 launchintent( ) 메서드를구현하는코드를추가하자. 편집기 의 FirstActivity.java 를선택한후다음코드를추가한다. package com.ebookfrenzy.multiwindow; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; public class FirstActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_first); } 56.4 두번째액티비티시작시키기 587

52 } public void launchintent(view view) { Intent i = new Intent(this, SecondActivity.class); startactivity(i); } 안드로이드 7(Nougat) 이실행중인실제장치나에뮬레이터에서앱을실행한후 Launch 버튼 을클릭하여두번째액티비티가시작되는지확인해보자 다중창모드활성화하기 또한, 앱의다중창지원을활성화하도록다음과같이 AndroidManifest.xml 파일을변경한다 ( 매니페스트파일은프로젝트도구창의 app manifests 밑에있다 ). <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.ebookfrenzy.multiwindow"> <application android:allowbackup="true" android:supportsrtl="true" <activity android:name=".firstactivity" android:resizeableactivity="true"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".secondactivity"></activity> </application> </manifest> 이책을저술하는시점에는다중창지원이기본적으로활성화되어있다. 그러나향후에는기 본설정이변경될수있으므로위와같이매니페스트에다중창지원활성화를추가하는것이 좋다. 588 CHAPTER 56 다중창예제프로젝트

53 56.6 다중창지원테스트하기 우선, 안드로이드 7.0 이상버전이실행되는에뮬레이터를시작시키자 (5장참조 ). 여기서는 Nexus 5X 에뮬레이터를사용한다 (55장의 55.2 절에서설명한대로자유형식모드를활성화시켜야한다 ). 앱을다시실행시켜서전체화면모드로나타난상태에서오버뷰버튼을길게눌러분할화면모드로전환하면그림 56-3 과같이 MultiWindow 앱과오버뷰화면이서로다른창으로나타난다. Launch 버튼을클릭하면첫번째액티비티와같은창에두번째액티비티가나타난다. 그리고두개의직사각형이포개진모양의오버뷰버튼을다시길게누르면전체화면모드로전환된다. Back 버튼을눌러서다시첫번째액티비티가나타나게한다. 이번에는자유형식모드로 MultiWindow 앱을실행해보자. 단, 이때는자유형식모드를지원하는장치나에뮬레이터에서앱을실행해야한다. 우선, 전체화면모드에서오버뷰버튼을짧게눌러서오버뷰화면이나타나게한다. 그리고 MultiWindow 앱의제목에나타난자유형식모드버튼 ( 그림 56-4에원으로표시됨 ) 을클릭한다. 그림 56-3 그림 56-4 그러면 MultiWindow 앱이자유형식모드의창으로나타난다 ( 그림 56-5). 그다음에 Launch 버튼을클릭하면첫번째액티비티가두번째액티비티로교체되어같은창에나타난다. 따라서두번째액티비티를다른창에나타나게하려면그와관련된플래그를설정한인텐트로시작시켜야한다. 그림 다중창지원테스트하기 589

54 56.7 두번째액티비티를다른창에서시작시키기 첫번째액티비티가두번째액티비티로교체되지않고다른창으로나타나게하려면두번째액티비티를다른태스크스택에서시작시켜야한다. FirstActivity.java 의 launchintent( ) 메서드를다음과같이변경한다. public void launchintent(view view) { Intent i = new Intent(this, SecondActivity.class); i.addflags(intent.flag_activity_launch_adjacent Intent.FLAG_ACTIVITY_MULTIPLE_TASK Intent.FLAG_ACTIVITY_NEW_TASK); } startactivity(i); 변경이끝났으면앱을다시실행시키자. 그리고오버뷰버튼을길게눌러분할화면모드로전 환한후 Launch 버튼을눌러두번째액티비티를시작시킨다. 이제는두번째액티비티가첫 번째액티비티와인접한다른창에나타날것이다 ( 그림 56-6). 그림 CHAPTER 56 다중창예제프로젝트

55 그림 56-6의상태에서오버뷰버튼을길게누르면 MultiWindow 앱이전체화면모드로전환된다. 그리고오버뷰버튼을짧게누르면오버뷰화면이나타난다. 거기에서 MultiWindow 앱의두번째액티비티를닫은후첫번째액티비티의자유형식모드버튼 ( 그림 56-4) 을클릭하여자유형식모드로전환한다. 그다음에 Launch 버튼을클릭하여두번째액티비티를실행시키면첫번째액티비티와다른창에두번째액티비티가나타난다 ( 그림 56-7). 그림 자유형식창의위치와크기변경하기 두번째액티비티가자유형식모드의별개창으로시작될때는기본적으로화면중앙에나타난다. 그러나다음과같이하면창의위치와크기를변경할수있다. 여기서는화면의제일왼쪽위에창이나타나면서가로와세로가각각 100픽셀크기를갖도록지정한다. 다음과같이 lauchintent( ) 메서드를변경하자. package com.ebookfrenzy.multiwindow; import android.app.activityoptions; import android.content.intent; import android.graphics.rect; import android.support.v7.app.appcompatactivity; 56.8 자유형식창의위치와크기변경하기 591

56 import android.os.bundle; import android.view.view; import static com.ebookfrenzy.multiwindow.r.id.mytextview; public class FirstActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_first); } public void launchintent(view view) { Intent i = new Intent(this, SecondActivity.class); i.addflags(intent.flag_activity_launch_adjacent Intent.FLAG_ACTIVITY_MULTIPLE_TASK Intent.FLAG_ACTIVITY_NEW_TASK); Rect rect = new Rect(0, 0, 100, 100); ActivityOptions options = ActivityOptions.makeBasic(); ActivityOptions bounds = options.setlaunchbounds(rect); startactivity(i, bounds.tobundle()); } 마지막으로, 앱을다시실행하고자유형식모드로전환한후두번째액티비티를시작시키자. 그 리고두번째액티비티창이앞에서지정한위치및크기로나타나는지확인해보자 요약 이번장에서는예제프로젝트를생성하여안드로이드앱의다중창지원을사용하는방법을알아보았다. 구체적으로는다중창지원의활성화, 새로운태스크스택으로액티비티시작시키기, 자유형식모드에서창의크기와위치를구성하기등이다. 592 CHAPTER 56 다중창예제프로젝트

핵심만골라배우는안드로이드스튜디오&프로그래밍_내지_11차_160527.indd

핵심만골라배우는안드로이드스튜디오&프로그래밍_내지_11차_160527.indd 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

More information

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

Microsoft 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

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

Microsoft 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 information

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF

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

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID android:title= 항목제목 /> </menu> public boolean oncreateoptionsmenu(menu menu) { getme 8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean

More information

Microsoft PowerPoint App Fundamentals[Part2].pptx

Microsoft PowerPoint App Fundamentals[Part2].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 Part 1 애플리케이션컴포넌트 액티비티와태스크 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 태스크는명시적으로정의 / 선언하는것이아니라, 주어진목적을위해 현재수행되고있는액티비티들의스택이다. 예를들어, 어떤액티비티가특정위치상의시가지지도를보여주고자한다하자. 해당액티비티는안드로이드에이미존재하는맵뷰어액티비티를실행

More information

Android 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 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 information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

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 information

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

을풀면된다. 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

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 [ 그림 9-1] 시간예약앱 활동과정 - 2 - [ 그림 9-2] 안드로이드 SDK Manager [ 예제 9-1]main.xml 1

More information

PowerPoint Template

PowerPoint 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 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 information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

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

4S 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 information

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

(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 information

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

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

Daum 카페

Daum 카페 인쇄하기 인쇄 [22 장 ] 프래그먼트 (1/8) (20140815 완료 ) 책에담지못한장들 슈퍼성근 조회 326 2014/08/10 22:38:46 주의 : 소스내용중 "0nClick", "0nStart" 함수명첫글자가숫자 0 인것은오타가아닙니다. 다움게시판은 o n C l i c k 라는글을입력할수없기때문에어쩔수없이 영문소문자 o 를숫자 0 으로대체하였습니다.

More information

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

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

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

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

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0) 02. 처음으로만드는안드로이드응용프로그램 IT CookBook, 안드로이드프로그래밍 학습목표 안드로이드응용프로그램의기본적인작성법을익힌다. AVD 의명칭을배운다. 안드로이드프로젝트의구성을파악한다. Page 2 차례 Page 3 1. 처음만드는 [Hello Android] 프로그램 Page 4 1. 처음만드는 [Hello Android] 프로그램 [ 실습 2-1]

More information

PowerPoint Template

PowerPoint Template 01. 안드로이드개요와 개발환경구축 01 안드로이드의개요 02 안드로이드의개발환경 03 안드로이드의개발환경구축 1. 안드로이드개요 스마트폰개요 스마트폰 통화기능 + 컴퓨터 + 다양한기능내장 (MP3, 카메라, DMB, GPS 등 ) 스마트폰역사 1992년 IBM사의사이먼 ( 최초 ) 1996년노키아 9000 2002년마이크로소프트포켓PC 2007년아이폰 2008년안드로이드폰

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사 IDIS Mobile Android 사용설명서 Powered by 사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사양 및 버전에 따라 일부

More information

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

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

리니어레이아웃 - 2 -

리니어레이아웃 - 2 - 4 차시레이아웃 1 학습목표 레이아웃의개념을이해한다. 중복리니어레이아웃의개념이해한다. 2 확인해볼까? 3 레이아웃개념익히기 1) 학습하기 [ 그림 4-1] ViewGroup 클래스계층도 리니어레이아웃 - 2 - [ 예제 4-1]orientation 속성-horizontal 1

More information

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다. 헬로, 안드로이드 4 주차 사용자인터페이스디자인하기 (2) 강대기동서대학교컴퓨터정보공학부 학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다. 차례 메뉴추가하기 Settings 추가하기 새게임시작하기

More information

슬라이드 1

슬라이드 1 IntelliJ IDEA 1. 도구개요 2. 설치및실행 3. 주요기능 1. 도구개요 도구명 IntelliJ IDEA (http://www.jetbrains.com/idea/) 라이선스 Apache 2 소개 Java 용통합개발도구 요구사항을정의하고전체개발과정에서요구사항을추적할수있도록지원. 특징 Java IDE 환경제공 모바일및엔터프라이저개발을위한프레임워크제공

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation=vertical > 4 <ImageView 7 차시이미지처리 1 학습목표 이미지뷰를사용하는방법을배운다. 비트맵을사용하는방법을배운다. 2 확인해볼까? 3 이미지뷰와이미지버튼 1) 학습하기 [ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 4

More information

슬라이드 1

슬라이드 1 Subclipse 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 도구명 Subclipse (http://subclipse.tigris.org/) 라이선스 Eclipse Public License v1.0 소개 Subversion( 이하 svn) 용 Eclipse 플러그인 SVN 을만든 Tigris.org 에서만든클라이언트툴 Java

More information

13Åë°è¹é¼Ł

13Åë°è¹é¼Ł 이면은빈공간입니다. 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 information

게임 기획서 표준양식 연구보고서

게임 기획서 표준양식 연구보고서 ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ

More information

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Basic Widgets Jo, Heeseung Contents 뷰의개요 기본위젯다루기 기본위젯활용하기 2 뷰의개요 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속 이러한클래스를모두 ' 위젯 ' ( 또는뷰 ) 이라고도부름 위젯중에서다른위젯을담을수있는것들은주로 ViewGroup 클래스의하위에존재 이렇게다른위젯을담을수있는클래스를레이아웃이라고함 위젯

More information

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다. 헬로, 안드로이드 3 주차 사용자인터페이스디자인하기 (1) 강대기동서대학교컴퓨터정보공학부 학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다. 차례 스도쿠예제소개하기 선언하여디자인하기 시작화면만들기 대체리소스사용하기 About

More information

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

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

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

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

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information

슬라이드 1

슬라이드 1 Gradle 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 특징 Gradle (http://www.gradle.org) 소프트웨어빌드자동화도구 라이선스 Apache License v2.0 Gradle 을통해소프트웨어패키지나프로젝트의빌드, 테스팅, 퍼블리슁, 배포등을자동화할수있다. Ant 의유연성과기능을

More information

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

Google Maps Android API v2

Google Maps Android API v2 Google Maps API 3 조 20080388 김현철 20080748 양태욱 20091493 김이현 Google Maps? 구글에서제공하는지도서비스 걷기, 차량두가지길찾기기능제공 최근, Open API 로현지대중교통과연동하여사용 Google Maps API? 개발자에게 Google Maps 를삽입할수있도록 Google 에서제공하는 Application

More information

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp A SQL Server 0 설치 A. 소개 Relational DataBase Management System SQL Server 0는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 express 버전 의무료에디션을제공하는데, 이책에서는실습을위해 SQL Server 0 익스프레스에디 션 SP

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 유니티와아두이노를활용한 VR 컨트롤러개발 Part 06 헬로앱스코딩교육 김영준 공학박사, 목원대학교겸임교수前 Microsoft 수석연구원 splduino@gmail.com http://www.helloapps.co.kr 키보드로물체생성하기 키보드로물체생성하기 public GameObject CubeObject; public GameObject MyCamera;

More information

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

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information

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

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411) Android 7.0 Nougat 개발환경구축 목차 기존방식 JAVA JDK 다운로드및설치 Android SDK 다운로드및설치 Eclipse 다운로드및설치 Eclipse와의연동 AVD 생성과 Android 프로젝트생성및실행 Android Studio 를이용한방식 JAVA JDK 다운로드및설치 Android Studio 설치및프로젝트생성 기존방식 (Android

More information

슬라이드 1

슬라이드 1 개발홖경구축 시작하면서 2 목차 소프트웨어다운로드 JDK 설치및설정 안드로이드 SDK 설치및설정 이클립스설치및설정 안드로이드 SDK 둘러보기 소프트웨어다운로드 설치준비 4 필요한소프트웨어 JDK 5.0 이상 안드로이드 SDK 이클립스 다운로드할폴더생성 D:\android 폴더생성 D:\android\software 폴더생성 JDK 다운로드 5 JAVA 웹사이트접속

More information

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63> SAM4S Printer Driver Installer 달리명시하지않은한, 인쇄또는복사된문서는통제하지않는문서임 목 차 1. 1. WINDOWS DRIVER INSTALLER 설치 설치...... 2 2. 프린터추가...... 5 3. 프린터제거...... 19 4. 프린터추가 / 제거선택...... 21 5. 프로그램추가 / 제거...... 21 SHC- 11-01-

More information

슬라이드 1

슬라이드 1 헬로, 안드로이드 3 주차 사용자인터페이스디자인하기 (1) 강대기동서대학교컴퓨터정보공학부 학습목표 선언하여디자인을하는방법을이해하고, 실행핛수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행핛수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행핛수있다. 차례 스도쿠예제소개하기 선언하여디자인하기 시작화면만들기 대체리소스사용하기 About

More information

CODESYS 런타임 설치과정

CODESYS 런타임 설치과정 CODESYS 런타임설치과정 CODESYS Control RTE / SoftMotion RTE Setup Web: www.altsoft.kr E-mail: altsoft@altsoft.kr Tel: 02-547-2344 목 차 CODESYS 런타임 - Control RTE, SoftMotion RTE... 2 다운로드및설치과정... 2 CODESYS EtherCAT

More information

THE TITLE

THE TITLE Android System & Launcher Team 8 목차 Android 1) Android Feature 2) Android Architecture 3) Android 개발방법 4) Android Booting Process Dalvik 1) Dalvik VM 2) Dalvik VM Instance Application 1) Application Package

More information

Microsoft PowerPoint - 04기본위젯(Ver 1.0)

Microsoft PowerPoint - 04기본위젯(Ver 1.0) 04. 기본위젯익히기 IT CookBook, 안드로이드프로그래밍 학습목표 뷰와뷰상속을이해한다. 기본위젯을다루는방법을익힌다. 안드로이드앱의기본적인프로그래밍을숙달한다. Page 3 차례 Page 4 1. 뷰의개요 뷰와뷰그룹 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속을받으며, 이러한클래스를모두 ' 위젯 '( 또는뷰 ) 이라고도부름. 위젯중에서다른위젯을담을수있는것들은주로

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

슬라이드 1

슬라이드 1 Qt Creator 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 도구명 소개 Qt Creator (http://qt-project.org/wiki/category:tools::qtcreator) 라이선스 LGPL v2.1 GUI 프로그램을쉽게만들수있는 Cross-platform 프레임워크인 Qt 를통해애플리케이션을개발할수있게해주는

More information

2_안드로이드UI

2_안드로이드UI 03 Layouts 레이아웃 (Layout) u ViewGroup의파생클래스로서, 포함된 View를정렬하는기능 u 종류 LinearLayout 컨테이너에포함된뷰들을수평또는수직으로일렬배치하는레이아웃 RelativeLayout 뷰를서로간의위치관계나컨테이너와의위치관계를지정하여배치하는레이아웃 TableLayout 표형식으로차일드를배치하는레이아웃 FrameLayout

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

tiawPlot ac 사용방법

tiawPlot ac 사용방법 tiawplot ac 매뉴얼 BORISOFT www.borisoft.co.kr park.ji@borisoft.co.kr HP : 00-370-077 Chapter 프로그램설치. 프로그램설치 3 2 Chapter tiawplot ac 사용하기.tiawPlot ac 소개 2.tiawPlot ac 실행하기 3. 도면파일등록및삭제 4. 출력장치설정 5. 출력옵션설정

More information

untitled

untitled 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 information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc DVR HDD PC Viewer Guide ADVR6000 / SWI5000 선운정보통신 소개 본 매뉴얼은 DVR의 하드디스크 PC 뷰워의 설명서입니다. 이 프로그램은 DVR에 장착되어 미리 포맷되고 녹화된 HDD에 저장된 영상들을 사용자의 PC에서 직접 보여줄 것입니다. DVR의 하드디스크-랙에서 분리된 하드디크스가 사용자의 PC에 연결됐다면 이 응용프로그램은

More information

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

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 사용자매뉴얼 JetFlash Vault 100 ( 버전 1.0) 1 목차 1. 시스템요구사항... 3 2. 암호및힌트설정 ( 윈도우 )... 3 3. JetFlash Vault 시작하기 ( 윈도우 )... 7 4. JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 찾아보기... 10 JetFlash

More information

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

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO Windows 7 설치및 PCIE RAID 설정정보 DK173 초판 11월 2016 A. Windows 7 및 USB 드라이버설치 칩셋사양에따라 Windows 7 설치중에 USB 키보드 / 마우스를사용하려면시스템에서 USB 드라이버를사전로드해야합니다. 이절에서는 USB 드라이버사전로드방법과 Windows 7 설치방법에대해서설명합니다. 방법 1: SATA ODD

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

슬라이드 1

슬라이드 1 이벤트 () 란? - 사용자가입력장치 ( 키보드, 마우스등 ) 등을이용해서발생하는사건 - 이벤트를처리하는프로그램은이벤트가발생할때까지무한루프를돌면서대기상태에있는다. 이벤트가발생하면발생한이벤트의종류에따라특정한작업을수행한다. - 이벤트관련프로그램작성을위해 java.awt.event.* 패키지가필요 - 버튼을누른경우, 1 버튼클릭이벤트발생 2 발생한이벤트인식 ( 이벤트리스너가수행

More information

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

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기 Mango-IMX6Q mfgtool 을 이용한이미지 Write 하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document

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

슬라이드 1

슬라이드 1 TortoiseSVN 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 Tortoise SVN (http://tortoisesvn.net) 라이선스 GNU GPL v2.0 소개 Subversion 를통해서소스버전관리를할수있게하는클라이언트도구 특징 Windows Explorer 에서곧바로 Subversion 를사용하여버전컨트롤가능

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

02 앱을실행하는 3 가지방법 Mobile Apps >> 앱인벤터로작성한앱은다음과같은 3가지의방법으로실행이가능하다. 만약사용자가스마트폰이있고와이파이를사용하고있다면작성한앱을바로실행하여볼수있다. 가장바람직한방법이다. 스마트폰에구글 Play 스토어를통하여 App Invent

02 앱을실행하는 3 가지방법 Mobile Apps >> 앱인벤터로작성한앱은다음과같은 3가지의방법으로실행이가능하다. 만약사용자가스마트폰이있고와이파이를사용하고있다면작성한앱을바로실행하여볼수있다. 가장바람직한방법이다. 스마트폰에구글 Play 스토어를통하여 App Invent Chapter 02 앱인벤터소개 모바일앱개발과정에항상 사용자인터페이스작성단계 와 알고리즘작성단계 가있다는것을학습한다. 구글 Play 스토어에서 AI2 Companion을설치한다. Speak 예제를작성하고실행한다. 실습 01: 인터페이스작성하기 실습 02: 와이파이로앱실행하기 실습 03: 컴포넌트의속성변경하기 실습 04: 컴포넌트의코드블록추가하기 실습 05:

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

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

MF5900 Series MF Driver Installation Guide

MF5900 Series MF Driver Installation Guide 한국어 MF 드라이버설치설명서 사용자소프트웨어 CD-ROM................................................ 1.................................................................... 1..............................................................................

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

UI VoC Process 안

UI VoC Process 안 Android Honeycomb UI design guide Bryan Woo (pyramos@gmail.com) Bryan Woo (pyramos@gmail.com) Table of Contents Announcement Basic Screen Portrait Screen Action Bar System Bar Main Menu Options Menu Small

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information