Hello, World

Similar documents
DV690-N_KOR_ indd

1부

PowerPoint 프레젠테이션

±×¸°¸®Æ÷Æ® ³»Áö5Â÷

1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로

Microsoft PowerPoint Application Resources[Part1](2.0h).pptx

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


Vol.266 C O N T E N T S M O N T H L Y P U B L I C F I N A N C E F O R U M

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

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

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

슬라이드 1

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

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

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

서현수

[<1107><1169><11AB><1106><116E><11AB>] 2015<1102><1167><11AB> 7<110B><116F><11AF><1112><1169>-<110E><116C><110C><1169><11BC>.pdf

( )부록

슬라이드 1

고객 카드

어댑터뷰

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

01장

안드로이드 강의

한국어교재_중급1-앞-인쇄용.indd

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

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도

03장

Setting up Android Development Environment

DocsPin_Korean.pages

기획7.hwp

Main Title

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

슬라이드 1


슬라이드 1

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

Microsoft PowerPoint App Fundamentals[Part1].pptx

0표지.indd

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

50_1953.pdf

PowerPoint 프레젠테이션

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

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

Google Maps Android API v2

C.PÀÛ¾÷

Microsoft Word - Week Ahead_Economy.docx

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

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

(72) 발명자 오인환 서울 노원구 중계로 195, 101동 803호 (중계동, 신 안동진아파트) 서혜리 서울 종로구 평창14길 23, (평창동) 한훈식 서울 강남구 언주로71길 25-5, 301호 (역삼동, 영 훈하이츠) 이 발명을 지원한 국가연구개발사업 과제고유번호

untitled

PowerPoint 프레젠테이션


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

Microsoft PowerPoint - chap06-2pointer.ppt

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

!DVD브로셔

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

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

Microsoft PowerPoint - 15-MARS


Microsoft Word - src.doc

리니어레이아웃 - 2 -

PowerPoint 프레젠테이션

Microsoft PowerPoint UI-Layout.Menu.pptx

Vol.256 C O N T E N T S M O N T H L Y P U B L I C F I N A N C E F O R U M

이머징마켓 동향 글로벌 이머징마켓 시장 동향 인도 시장: 센섹스지수는 장중 강세를 이어갔으나 마감 직전에 급락세로 전환해 6거래일 연속 약세를 보였 다. 주간단위로는 2주째 하락했고 하락폭도 크게 확대됐다. 정부가 재정적자 통제 목표를 달성하지 못

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

F120L(JB)_UG_V1.0_ indd

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

DoItAndroidAppProgramming

13ÀåÃß°¡ºÐ

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

IDP www idp or kr IDP 정책연구 한국경제의구조적문제와개혁방향 민주정책연구원 The Institute for Democracy and Policies

1

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

C++ Programming

mobile_guide_SA

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

untitled

<4D F736F F D20284B B8F0B9D9C0CF20BED6C7C3B8AEC4C9C0CCBCC720C4DCC5D9C3F720C1A2B1D9BCBA2020C1F6C4A720322E302E646F6378>

±§ 60¡ÿ ‚±‚ ‰«•¡ˆ

Microsoft PowerPoint App Fundamentals[Part2].pptx

특허청구의 범위 청구항 1 앵커(20)를 이용한 옹벽 시공에 사용되는 옹벽패널에 있어서, 단위패널형태의 판 형태로 구성되며, 내부 중앙부가 후방 하부를 향해 기울어지도록 돌출 형성되어, 전면이 오 목하게 들어가고 후면이 돌출된 결속부(11)를 형성하되, 이 결속부(11

Microsoft Word - 국제중재

Visual Basic 반복문

BMP 파일 처리

Layout

슬라이드 1

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

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

Android Master Key Vulnerability

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

변수이름 변수값 PATH ;C:\Program Files\Java\jdk1.8.0_45\bin CLASSPATH.;C:\Program Files\jdk1.8.0_45\lib\tools.jar JAVA_HOME C:\Program Files\Java\jdk1.8.0_45

슬라이드 1

Transcription:

Hello, World Bok, Jong Soon Jongsoon.bok@gmail.com www.javaexpert.co.kr

Hello, World

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Hello, World (Cont.)

Application 구성요소 Android Application Java Code /src /gen Resource /drawable /layout /values Manifest AndroidManifest.xml

Application 구성요소 ( 계속 ) HelloWorldActivity.java 로직 / 사용자상호작용 R.java 메모리관리 HelloWorldActivity.java main.xml UI 설계 R.java strings.xml 리소스관리 main.xml strings.xml AndroidManifest.xml 애플리케이션기본정보 AndroidManifest.xml 장용식 김관옥 성낙현, Step by Step 안드로이드앱개발 ( 서울 :INFINITY BOOKS, 2011), p.67.

프로젝트구성 AndroidManifest.xml src/helloworldactivity.java gen/r.java assets res/drawable res/layout/main.xml res/values/strings.xml default.properties proguard.cfg

기본파일상호작용과실행원리 액티비티라벨 로직 / 사용자상호작용 HelloWorldActivity.java 액티비티생성 main.xml 레이아웃출력 ic_launcher.png 리소스관리 ( 이미지 ) R.Java main.xml 파일주소이미지리소스주소텍스트리소스주소 메모리관리 UI 설계 main.xml 레이아웃설계텍스트리소스사용 리소스관리 ( 텍스트 ) strings.xml 텍스트리소스정의 애플리케이션기본정보 AndroidManifest.xml 어플리케이션아이콘지정어플리케이션라벨지정액티비티레벨지정액티비티명지정 HelloWorld 장용식 김관옥 성낙현, Step by Step 안드로이드앱개발 ( 서울 :INFINITY BOOKS, 2011), p.97.

기본파일상호작용과실행원리 ( 계속 ) 액티비티라벨 로직 / 사용자상호작용 HelloWorldActivity.java super.oncreate(savedinstancestate) setcontentview(r.layout.main) 리소스관리 ( 이미지 ) ic_launcher.png UI 설계 main.xml LinearLayout TextView android:text @string/hello R.Java drawable ic_launcher 0x7f020000 layout main 0x7f030000 string hello 0x7f040000 app_name 0x7f040001 리소스관리 ( 텍스트 ) 메모리관리 strings.xml hello Hello World, app_name HelloWorld 애플리케이션기본정보 AndroidManifest.xml application android:icon @drawable/icon android:label @string/app_name activity activity:name HelloWorldActivity android : label @string/app_name HelloWorld 장용식 김관옥 성낙현, Step by Step 안드로이드앱개발 ( 서울 :INFINITY BOOKS, 2011), p.98.

프로젝트구성 ( 계속 ) AndroidManifest.xml 패키지이름, 버전정보, 어플리케이션이름 어플리케이션구성요소와각어플리케이션구성요소의속성이정의 어플리케이션에서사용하는권한, 최소요구 SDK 버전

프로젝트구성 ( 계속 ) AndroidManifest.xml : 프로젝트일반정보

프로젝트구성 ( 계속 ) AndroidManifest.xml

프로젝트구성 ( 계속 ) src/helloworldactivity.java Activity 는안드로이드어플리케이션에서하나의 화면 을구성하는구성요소 메인소스파일 코드직접작성 public void setcontentview(int layoutresid) public void setcotentview(view view)

프로젝트구성 ( 계속 ) gen/r.java : 툴이자동으로관리, 직접편집안됨.

프로젝트구성 ( 계속 ) assets : 리소스폴더, 비디오오디오파일저장 res/drawable : 이미지파일저장 default.properties : 프로젝트의빌드타겟이명시되어있다. proguard.cfg : 디컴파일방지를위한설정

프로젝트구성 ( 계속 ) res/layout/main.xml

프로젝트구성 ( 계속 ) res/layout/main.xml

프로젝트구성 ( 계속 ) res/values/strings.xml

프로젝트구성 ( 계속 ) res/values/strings.xml

Resource Source code 외의다른파일들 어플리케이션에서사용하는 image, sound, layout, string 등이포함 Source code 와는별도로존재 파일이름 : 영문소문자, 숫자, 밑줄 (_), dash(-) 로만가능 리소스를참조할때파일의이름으로참조함

Resource (Cont.) 문자열, 색상, 치수 (dimension) 값과같은단순리소스는 /res/values 에들어있다. 리소스파일들은 xml 태그를사용한다. 리소스는프로젝트빌드시어플리케이션패키지에포함된다. 문자열, 색상, 치수리소스는 [ 리소스편집기를이용해서관리하거나 xml 파일을직접편집할수있다.

Resource (Cont.) 리소스종류에따른저장위치 저장위치 res/anim res/drawable res/layout res/values res/xml res/raw 리소스종류 XML 형태로된애니메이션 이미지 (*.png, *.jpg, *.gif) 화면레이아웃 문자열, 배열등 XML 형태로된데이터 영상, 음악혹은위의형식에해당되지않는데이터

Resource (Cont.) 문자열 /res/values/strings.xml 작은혹은큰인용부호 (apostrophe,, ) 를포함한문자열은이스케이프처리하거나큰따옴표로감싸야한다.

Resource (Cont.) 색상 /res/values/colors.xml 안드로이드는 RGB 형식의 12 비트와 24 비트색상지원 형식 설명 예제 #RGB 12비트색상 #00F(blue) #ARGB 알파가포함된 12비트색상 #800F(blue, alpha 50%) #RRGGBB 24비트색상 #FF00FF( 자홍 ) #AARRGGBB 알파가포함된 24비트색상 #80FF00FF( 자홍, alpha 50%) 참고 : 색상선택기 ( http://html-colorcodes.info )

치수 Resource (Cont.) 컨트롤의크기지정을위한치수 /res/values/dimens.xml 측정유형 설명 단위문자열 픽셀 실제화면픽셀 px 인치 물리적인길이 in 밀리미터 물리적인길이 mm 포인트 흔히쓰는글꼴크기 (1/72 inch) pt 밀도독립적인픽셀 1 160dpi를기준으로한픽셀단위 dp 축척독립적인픽셀 2 가변글꼴표시에가장적합한단위 sp 1 Density-independent Pixels. 1in = 160dp, 2 Scale-independent Pixels

Resource (Cont.) 이미지 파일명은반드시소문자이어야한다. 파일명은문자, 숫자, 밑줄만가능 /res/drawable 지원되는이미지형식설명확장자 Portable Network Graphics(PNG) 권장형식 ( 무손실 ).png Nine-Patch Stretchable Images(PNG) 권장형식 ( 무손실 ).9.png Joing Photographic Experts Group(JPEG/JPG) 권장하지않는형식 ( 손실 ) Graphics Interchange Format(GIF) 지원되지만권장하지는않음.gif BitmapDrawable logobitmap = (BitmapDrawable)getResource().getDrawable(R.drawable.logo); 또는 ImageView logoview = (ImageView) findviewbyid(r.id.logoimageview); logoview.setimageresource(r.drawable.logo);.jpg

Resource (Cont.) Style & Theme View or Window 에적용할여러속성들을정의한리소스 비슷한속성들을개별적으로지정할때의불편함, 번거로움을피하고자사용 텍스트크기, 배경색상, 여백크기등다양한속성을한번에정의하여일관된 UI 적용에매우유용 적용범위에따라일부분을정의하면 Style 이고, 여러 Style 들을모아서전체 Style 로만든것이 Theme 이다.

Resource (Cont.) Style file res/values/styles.xml

Resource (Cont.) Style inheritance 부모 Style 이름. 자식 Style 이름

Resource (Cont.) Style inheritance Android System s Style inheritance

Style 적용하기 Resource (Cont.)

Style 적용하기 Resource (Cont.)

Resource (Cont.) Theme 테마는좀더넓은범위에적용 작성방법은스타일과동일 styles.xml 에추가 별도의파일생성없이 styles.xml 예제에엘리먼트추가 themes.xml 등의파일을따로만들어도상관없음

Resource (Cont.) Theme 적용하기 themes Activity 의속성에 theme 지정 Android System Theme 적용하기

Resource (Cont.) 국제화 1 를위한리소스 언어 : 두개의소문자로된 ISO 639-1 언어코드 ( 예 :ko, ja) 지역 : 소문자 r 뒤에대문자로된 ISO 3166-1 alpha-2 언어코드 ( 예 :rca, rgb) 화면방향 : port( 세로화면 ), land( 가로화면 ), square( 정방형화면 ) 픽셀밀도 : DPI(Dots Per Inch : 인치당픽셀수 ) 단위의픽셀밀도 ( 예 :92dpi) 터치형식 : notouch( 터치불가 ), stylus( 감압식 ), finger( 정전식 ) 키보드사용 : keysexposed( 키보드사용 ), keyshidden( 키도드사용안함 ) 키보드형식 : nokeys( 키없음 ), qwerty( 쿼티풀사이즈 ), 12key( 키패드타입 ) 방향키타입 : notouch( 방향키없음 ), dpad( 화살표키 ), trackball( 트랙볼 ), wheel( 휠 ) 화면해상도 : 큰치수 x 작은치수형태로표현된값 ( 예 :320x240, 800x480) 1 일반적으로단어가너무길기때문에 i18n, 즉 i 로시작하여중간에 18 개의문자가있고, n 으로끝나는단어라는뜻으로축약하여부르기도함.

Resource (Cont.) 국제화를위한리소스 사용예 drawable-en-rus 미국 ( 영어 ) 의 drawable drawable-ko-finger-320x240 한국어 - 정전식 -QVGA 의 drawable string-keyshidden 키보드가가려진경우표시되는문자열

Resource (Cont.) 국제화를위한리소스 : ISO 639-1 언어코드 언어 ISO 639-1 코드언어 ISO 639-1 코드 Arabic ar Greek el Bulgarian bg Italian it Chinese zh Japanese ja English en Korean ko Esperanto eo Latin la Finnish fi Portuguese pt French fr Russian ru German de Vietnamese vi 표성배 신성윤 서정만 장영현 하얀공저, 톡톡튀는어플개발을위한안드로이드프로그래밍 ( 경기 : 도서출판글로벌, 2011), p.138.

Resource (Cont.) 국제화를위한리소스 : ISO 3166-1 ALPHA-2 언어코드 국가 ISO 3166-1 alpha-2 코드 국가 ISO 3166-1 alpha-2 코드 United Arab Emirates AE Spain ES Argentina AR France FR Australia AU United Kingdom GB Brazil BR Italy IT Canada CA Japan JP Switzerland CH Korea, Republic of KR China CN Mexico MX Germany DE Russian Federation RU United States US South Africa ZA

Resource (Cont.) Source code 에서리소스참조하기 프로젝트에리소스를추가하면자동으로리소스의 id 가자동생성 참조방법 R. 리소스 _ 종류. 리소스 _ 이름 구문 R.string.hello R.layout.main R.drawable.icon R.raw.sound R.id.text android.r.id.text 의미이름이 hello 인문자열이름이 main 인레이아웃이름이 icon 인이름이름이 sound 인데이터 ID가 text 인리소스 ID 가 text인안드로이드시스템리소스

Resource (Cont.) System 리소스참조하기 Android System Resource 접근가능 다수의어플리케이션의공통적인 Look and feel 을표현하기위해접근가능 System resource 는 android 패키지에저장예 ) 시스템문자열리소스 : android.r.string String confirm = Resources.getSystem().getString(android.R.s tring.ok); 또는 @android:[ 리소스형식 ]/[ 리소스이름 ] @android:string/ok

Resource (Cont.) Source code 에서리소스참조하기 참조방법 String String mystr = getresource().getstring(r.string.hello);

Resource (Cont.) Source code 에서리소스참조하기 참조방법 String array String [] array = getresource().getstringarray(r.array.fruits);

Resource (Cont.) Source code 에서리소스참조하기 참조방법 String array int mycolor = getresource().getcolor(r.color.textcolor);

Resource (Cont.) Source code 에서리소스참조하기 참조방법 String array float mytextsize = getresource().getdimension(r.dimen.textpointsize);

Resource (Cont.) 리소스에서다른리소스참조하기 참조방법 @ 리소스 _ 종류 / 리소스 _ 이름 구문 @string/hello @layout/main @drawable/icon @raw/sound @id/text @android:id/text 의미이름이 hello 인문자열이름이 main 인레이아웃이름이 icon 인이름이름이 sound 인데이터 ID가 text 인리소스 ID 가 text인안드로이드시스템리소스

Resource (Cont.) 리소스생성하기 ADT 내의리소스생성마법사이용

Resource (Cont.)

Resource (Cont.) File : 새로생성할리소스파일명, 확장자 (*.xml) 까지입력해야함. Resource Type : 레이아웃, 메뉴등리소스유형선택

Lab1. 리소스추가하기 File : strings.xml Resource Type : Values

Lab1. 리소스추가하기 ( 계속 ) 1. Available Qualifiers : 語 Language 2. - > 3. Language : ko 語 ko

Lab1. 리소스추가하기 ( 계속 )

Lab1. 리소스추가하기 ( 계속 )

Lab1. 리소스추가하기 ( 계속 )

Lab1. 리소스추가하기 ( 계속 )

Emulator

Emulator (Cont.) 버튼 설명 홈언제든지홈스크린으로돌아온다. PC 키보드의키. MENU 메뉴출력. 스크린이잠겨있을때는잠금을푼다. 뒤로이전화면으로돌아간다. PC 키보드의키. 검색구글검색툴바를실행한다. PC 키보드의키. 통화전화걸기화면을실행한다. PC 키보드의키. 통화종료 통화종료. 통화중이아닐때는 PC 키보드의 키. 스크린을끈후잠근다. 방향키 4방향으로이동한다. PC 키보드의 키를 눌러도된다.

Emulator (Cont.) 버튼방향전환엔터카메라볼륨조정 설명 + / 현재선택된항목실행카메라를동작시킨다. + 볼륨을조정한다. UP : + Down : + 전원버튼전원을끈다. 에뮬레이터에서는화면을잠근다. Network 연결 / 끊기

Lab2

Lab3

Lab4

Lab5

Lab6

Lab7 : Style 김상형, 안드로이드프로그래밍정복개정판 1 권 ( 서울 : 한빛미디어, 2011), p.413.

Lab8 : Theme 김상형, 안드로이드프로그래밍정복개정판 1 권 ( 서울 : 한빛미디어, 2011), p.415.

Lab8 : System Theme 김상형, 안드로이드프로그래밍정복개정판 1 권 ( 서울 : 한빛미디어, 2011), p.416.