02. 처음으로 만드는 안드로이드 응용...

46
02 처음으로 만드는 02 처음으로 만드는 02. 처음으로 만드는 안드로이드 응용 프로그램 02. 처음으로 만드는 안드로이드 응용 프로그램 안드로이드 응용 프로그램 안드로이드 응용 프로그램 IT CookBook 안드로이드 프로그래밍 IT CookBook, 안드로이드 프로그래밍 Copyright© 1993-2012 Hanbit Media, Inc. All rights reserved.

Upload: others

Post on 04-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

02 처음으로 만드는02 처음으로 만드는02. 처음으로 만드는

안드로이드 응용 프로그램

02. 처음으로 만드는

안드로이드 응용 프로그램안드로이드 응용 프로그램안드로이드 응용 프로그램

IT CookBook 안드로이드 프로그래밍IT CookBook, 안드로이드 프로그래밍

Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

학습목표학습목표

• 안드로이드 응용 프로그램의 기본적인 작성법을 익힌다.안드로이드 응용 프로그램의 기본적인 작성법을 익힌다.

• AVD의 명칭을 배운다.

• 안드로이드 프로젝트의 구성을 파악한다.안드로이드 프로젝트의 구성을 파악한다.

Page 2 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

차례차례

Page 3 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

Page 4 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (1/7)[실습2-1] 첫 번째 응용 프로그램 작성 (1/7)

이클립스 메뉴 [File]-[New]-[Project]를 선택한 후, [New Project] 창에서 [Android]를 확장한 후 [Android Application Project]를 선택창에서 [Android]를 확장한 후 [Android Application Project]를 선택

Page 5 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (2/7)[실습2-1] 첫 번째 응용 프로그램 작성 (2/7)

[New Android Application] 창 설정

젤리빈(Android 4.1) 사용자는API 16을 선택

Page 6 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (3/7)[실습2-1] 첫 번째 응용 프로그램 작성 (3/7)

[Configuration Launcher Icon] 창은 디폴트

[C t A ti it ] 창도 디폴트[Create Activity] 창도 디폴트

[New Blank Activity] 창 설정

Page 7 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (4/7)[실습2-1] 첫 번째 응용 프로그램 작성 (4/7)

화면 디자인과 XML 코드

Page 8 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (5/7)[실습2-1] 첫 번째 응용 프로그램 작성 (5/7)

Java 코드

Page 9 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (6/7)[실습2-1] 첫 번째 응용 프로그램 작성 (6/7)

프로젝트 실행

Page 10 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[실습2-1] 첫 번째 응용 프로그램 작성 (7/7)[실습2-1] 첫 번째 응용 프로그램 작성 (7/7)

실행 결과

Page 11 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

[직접 풀어보기 2-1][직접 풀어보기 2-1]

새로운 프로젝트 “HiAndroid”를 작성하고 실행하자. 화면은 적당히꾸며본다.꾸며본다.

Page 12 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

프로젝트가 AVD를 인식하지 않을 때 조치법젝 가 를 인식하지 않을 때 치법

1. 프로젝트를 다시 실행해 본다.

2. AVD를 종료한 후, 다시 실행해 본다.

3. AVD를 삭제하고 다시 만들어 본다.

4. 진저브레드(2.3.3)으로 개발한다.

Page 13 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

1. 처음 만드는 [Hello Android] 프로그램1. 처음 만드는 [Hello Android] 프로그램

(참고) AVD 오류 메시지의 종류와 조치법(참 ) 류 메시지의 종류와 치법

▶ You may want to manually restart adb from the Devices view.프로젝트를 다시 실행

▶ emulator-5554 disconnected! Cancelling '패키지이름.액티비티이름 activity launch‘!먼저 모든 AVD를 닫은 후에 다시 프로젝트를 실행

▶ could not get wglGetExtensionsStringARB경고 수준. 무시해도 됨

▶ Launch CancelledAVD를 그냥 두고, 다시 프로젝트를 실행

▶ AVD는 가동되고, Starting activity 패키지이름.액티비티이름 on device emulator-5554에서 한동안 멈춘 상태

AVD를 그냥 두고, 다시 프로젝트를 실행

Page 14 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

를 냥 두 , 다시 젝 를 실행

2. AVD 명칭과 사용법 ▶ AVD 명칭2. AVD 명칭과 사용법 ▶ AVD 명칭

Page 15 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (1/7)[실습2-2] AVD 사용법 익히기 (1/7)

초기 화면과 가로 화면

Ctrl + F11

Page 16 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (2/7)[실습2-2] AVD 사용법 익히기 (2/7)

알람 추가 / 가상 카메라 / 갤러리

Page 17 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (3/7)[실습2-2] AVD 사용법 익히기 (3/7)

웹 브라우저

Page 18 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (4/7)[실습2-2] AVD 사용법 익히기 (4/7)

배경화면 변경

Page 19 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (5/7)[실습2-2] AVD 사용법 익히기 (5/7)

디스플레이 설정 변경

Page 20 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (6/7)[실습2-2] AVD 사용법 익히기 (6/7)

바탕화면에 응용 프로그램 복사 및 삭제

Page 21 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

2. AVD 명칭과 사용법 ▶ AVD 사용법2. AVD 명칭과 사용법 ▶ AVD 사용법

[실습2-2] AVD 사용법 익히기 (7/7)[실습2-2] AVD 사용법 익히기 (7/7)

응용 프로그램 완전 삭제

Page 22 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리

[실습2-3] 안드로이드 프로젝트 관리하기 (1/4)[실습2-3] 안드로이드 프로젝트 관리하기 (1/4)

프로젝트 닫기와 열기 / 프로젝트 제거하기

Page 23 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리

[실습2-3] 안드로이드 프로젝트 관리하기 (2/4)[실습2-3] 안드로이드 프로젝트 관리하기 (2/4)

제거한 프로젝트 다시 불러오기 (메뉴 [File] – [Import])

Page 24 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리

[실습2-3] 안드로이드 프로젝트 관리하기 (3/4)[실습2-3] 안드로이드 프로젝트 관리하기 (3/4)

Export로 프로젝트 내보내기 (메뉴 [File] – [Export])

Page 25 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리

[실습2-3] 안드로이드 프로젝트 관리하기 (4/4)[실습2-3] 안드로이드 프로젝트 관리하기 (4/4)

내보낸 프로젝트 불러오기 (메뉴 [File] – [Import])

Page 26 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리

[직접 풀어보기 2-2][직접 풀어보기 2-2]

새로 프로젝트를 하나 생성한 후 프로젝트 내보내기를 하고 해당프로젝트는 완전 삭제하자. 그리고 다시 가져와 보자.프로젝트는 완전 삭제하자. 그리고 다시 가져와 보자.

Page 27 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

이번 프로젝트로 파악할 사항

• 이클립스 사용법과 자동완성 기능

• 화면구성을 위한 XML 파일의 문법

• Java 코드 코딩 방법

main.xml 파일에 포함된 위젯의 접근 방법

위젯의 이벤트 발생시 작동하는 코드 작성법

• R.java의 내용

Page 28 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (1/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (1/11)

애플리케이션 정보 입력 프로젝트 이름

응용 프로그램 이름

패키지 이름(com.cookandroid.프로젝트이름)

앱의 SDK 버전과앱이 실행되는 최소 SDK 버전

Page 29 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (2/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (2/11)

액티비티 정보 입력 액티비티 이름프로젝트명+Activity로 고정시킬 것프로젝트명+Activity로 고정시킬 것

메인 레이아웃 XML 이름main으로 고정시킬 것main으로 고정시킬 것

앱 타이틀 프로젝트 이름

Page 30 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (3/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (3/11)

화면 디자인

앞으로는 LinearLayout을 기본으로 사용할 것임

Page 31 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (4/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (4/11)

버튼을 추가한 main.xml

Page 32 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (5/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (5/11)

string.xml 편집

Page 33 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (6/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (6/11)

BaseAppActivity.java 코딩 (1)

Page 34 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (7/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (7/11)

BaseAppActivity.java 코딩 (2)

Page 35 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (8/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (8/11)

BaseAppActivity.java 코딩 (3)

Ctrl+Shift+O를 누르면 추가됨

Page 36 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (9/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (9/11)

BaseAppActivity.java 코딩 (4)

코드의 자동 완성코드의 자동 완성

Page 37 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (10/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (10/11)

BaseAppActivity.java 코딩 (5)

자동 완성된 코드자동 완성된 코드

Page 38 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

[실습2-4] 기본적인 응용 프로그램 작성하기 (11/11)[실습2-4] 기본적인 응용 프로그램 작성하기 (11/11)

BaseAppActivity.java 코딩 (6) – 최종 코드 및 실행 결과

Page 39 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀3. 완전한 응용 프로그램 작성▶ 프로젝트의 표준 틀

위젯의 이벤트 발생시의 코딩 자주 사용되므로 외우면 좋음

Page 40 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리3. 완전한 응용 프로그램 작성▶ 이클립스 프로젝트 관리

[직접 풀어보기 2-3][직접 풀어보기 2-3]

다음 그림과 같이 버튼 4개를 만든 후에 각 버튼을 클릭하면 필요한내용이 작동되는 프로젝트 FourButton을 작성하라. 각 버튼의 색상은다르게 변경한다.

Page 41 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

4. 프로젝트의 구성▶ BaseApp 프로젝트의 구성4. 프로젝트의 구성▶ BaseApp 프로젝트의 구성

Page 42 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

4. 프로젝트의 구성▶ 프로젝트 폴더와 파일의 용도4. 프로젝트의 구성▶ 프로젝트 폴더와 파일의 용도

관련 폴더 및 파일 (1)

• src 폴더

패키지 이름 아래에 "패키지명+Activity.java"로 메인 Java 소스가 들어 있다.

• gen 폴더• gen 폴더

R.java 파일이 자동으로 생성되는데, 수정하면 절대 안 된다.

• Google APIs [Android 4.0.3] 폴더

프로젝트의 해당 플랫폼 라이브러리가 들어 있다.

• assets 폴더

배포할 때 함께 포함시킬 파일을 넣는 용도로 주로 소리, 동영상 등을 넣는다.

• bin 폴더

관련 소스들이 컴파일 되어 저장되는 폴더다관련 소스들이 컴파일 되어 저장되는 폴더다.

프로젝트명.apk 파일에 소스 및 리소스가 컴파일된 후 압축되어 들어간다.

• libs 폴더

Page 43 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

SDK 관련 라이브러리 폴더다.

4. 프로젝트의 구성▶ 프로젝트 폴더와 파일의 용도4. 프로젝트의 구성▶ 프로젝트 폴더와 파일의 용도

관련 폴더 및 파일 (2)

• res 폴더

앱 개발에 사용되는 이미지, 레이아웃, 문자열 등이 들어가는 폴더다.

이미지 파일은 drawable 폴더에 넣으면 된다이미지 파일은 drawable 폴더에 넣으면 된다.

layout 폴더는 액티비티(화면)을 구성하는 xml 파일을 넣으면 된다.

values 폴더는 문자열을 저장하는 string.xml이 들어 있다.

menu 폴더는 메뉴 XML 파일이 저장되어 있다.

• AndroidManifest.xml 파일

앱의 여러 가지 정보를 담고 있는 중요한 파일로 '매니페스트 파일'이라고앱의 여러 가지 정보를 담고 있는 중요한 파일로, 매니페스트 파일 이라고읽으면 된다.

• proguard.cfg 파일

앱을 최적화하기 위한 정보가 자동으로 들어 가는 파일이다.

• project.properties 파일

프로젝트를 빌드(Build)할 때의 플랫폼 버전이 지정된다

Page 44 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

프로젝트를 빌드(Build)할 때의 플랫폼 버전이 지정된다.

핵심정리핵심정리

1. 안드로이드 프로젝트 개발 단계① 안드로이드 프로젝트 생성 ② 화면 디자인 및 편집 ③ JAVA 코드 작성 및 수정

④ 프로젝트 실행 및 결과 확인 ⑤ 안드로이드 애플리케이션 개발 완료

2 Ctrl + Shift + O는 자동으로 import 완성시킴2. Ctrl + Shift + O는 자동으로 import 완성시킴

3. Ctrl + Shift + F는 코드를 보기 좋게 정렬함

4 Button 클릭시의 표준 코드4. Button 클릭시의 표준 코드Button button1;

button1 = (Button) findViewById(R.id.btn1);

button1.setOnClickListener( new View.OnClickListener() {

public void onClick(View v) {

// 이 부분에 버튼 클릭할 때 작동할 코드를 넣으면 됨

}

} );

Page 45 Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.

IT CookBook 안드로이드 프로그래밍IT CookBook, 안드로이드 프로그래밍

Copyright© 1993-2012 Hanbit Media, Inc.All rights reserved.