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

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

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

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint App Fundamentals[Part2].pptx

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

Hello, World

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

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

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

Microsoft PowerPoint UI-Layout.Menu.pptx

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

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - src.doc

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

MySQL-.. 1

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

< B0B3C0CEC1A4BAB8BAD0C0EFC1B6C1A4BBE7B7CAC1FD2E687770>

슬라이드 1

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

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

유니티 변수-함수.key

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

슬라이드 1

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

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Microsoft PowerPoint Predicates and Quantifiers.ppt

쉽게 풀어쓴 C 프로그래밍

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

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

PowerPoint 프레젠테이션

PowerPoint Presentation

£01¦4Àå-2

½ºÅ丮ÅÚ¸µ3_³»Áö

272*406OSAKAÃÖÁ¾-¼öÁ¤b64ٽÚ

PART

Part Part

Google Maps Android API v2

untitled

1

(Microsoft PowerPoint - \301\24615\260\255 - \303\346\265\271\303\263\270\256)

제11장 프로세스와 쓰레드

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

슬라이드 1

JUNIT 실습및발표

슬라이드 1

Chapter 1

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Secure Programming Lecture1 : Introduction

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

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

오버라이딩 (Overriding)

Mango220 Android How to compile and Transfer image to Target

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

리니어레이아웃 - 2 -

DIY 챗봇 - LangCon

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Microsoft Word - 문필주.doc

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

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

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

슬라이드 1

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Microsoft PowerPoint - 03-TCP Programming.ppt

제4장 기본 의미구조 (Basic Semantics)

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

Microsoft PowerPoint 세션.ppt

JVM 메모리구조

( )부록

PowerPoint 프레젠테이션

안드로이드 강의

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

PowerPoint Presentation

쉽게

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

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

C# Programming Guide - Types

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

슬라이드 1

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

Design Issues

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

서현수

ºÐ´ç¿ì¸®Áö1409

소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과

1

Microsoft PowerPoint - lec7_package [호환 모드]

슬라이드 1

untitled

1부

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

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

Transcription:

To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부

Concept of Resources Providing Resources Accessing Resources Resource Types 2

지금까지우리가이미보아온, 사용한 res/ 디렉토리에관한것임 리소스란문자열 (string), 이미지, 아이 콘, 레이아웃등의외부 (external) 파일 들이다. 리소스는소스코드에서분리되어, 주로 XML 형태로관리되며, XML 은컴파일되 어 R 클래스로만들어진다. 프로그램에서는 R 클래스의 ID 를통해 해당리소스를액세스할수있다. 3

클래스 R 4

Two different devices, both using default resources. Two different devices, one using alternative resources 5

Concept of Resources Providing Resources Accessing Resources Resource Types 6

각종리소스는 res 의지정된서브디렉토리에위치시킨다. 7

8

9

10

11

애플리케이션은여러종류의디바이스를지원하고자한다. 예를들어, 다른종류의해상도에서동작할수있다. 다른언어환경에서동작할수있다. 애플리케이션실행시, 안드로이드는현재디바이스설정 (configuration) 에따라, 적절한리소스를로드한다. 12

여러리소스를설정하기위해서는 res/ 디렉토리에 <res_name>-<qualifier> 형태의디렉토리를만든다. <res_name>: 디폴트리소스의이름 <qualifier>: (device dependent 한 ) 개별리소스이름 영어와프랑스어의문자열리소스를 관리하는경우 디폴트이미지와고해상도이미지를 제공하는경우 13

14

15

16

17

18

19

20

21

여러 qualifiers 를대시 (-) 로구분하여사용할수있다. Example: drawable-en-rus-land/ Qualifier 는반드시 Table 2 의순서에따라나열되어야한다. Wrong: drawable-hdpi-port/ Correct: drawable-port-hdpi/ 리소스디렉토리가 nest 되어사용될수는없다. Wrong: res/drawable/drawable-en/ 대소문자가구분되지않는다 (case-insensitive). 하나의 qualifier type 에서는오직하나의값만이사용될수있다. Wrong: drawable-res-rfr/ Correct:drawable-rES/ res/ drawable-rfr/ 22

코드에서는복잡한 qualifier 를고려할필요없이, 간 단한형태로레퍼런스한다. 예를들어, 다음과같이명명된리소스가있다면 res/drawable-port-mdpi/myimage.png 아래와같이레퍼런스된다. R.drawable.myimage (in code) @drawable/myimage (in XML) 안드로이드가실행시최적의리소스를매치시켜준다. 23

안드로이드는디바이스의현재설정에기반하여런타 임에사용되는리소스를선택한다. 리소스선택설명을위해다음예제를사용한다. 24

1. 현재디바이스설정에반하는리소스파일을삭제한다. 2. Table 2 에서가장높은순위의 qualifier 를선택한다. (MCC 부터시작 ) 25

3. 해당 qualifier lf 를포함하는리소스디렉토리가있나? If No: 스텝 2 로돌아가서다음 qualifier 를검사한다. If Yes: 다음스텝 4 로진행한다. 4. 해당 qualifier 를포함하지않는리소스를제거한다. ( 예제 : language qualfier 포함하지않으면제거한다.) 26

5. 하나만남을때까지스텝 2-4 를반복한다. ( 예제 : Screen orientation 을고려하여제거한다.) 27

안드로이드가 Best Match Resource 를선택하는절차요약 28

Concept of Resources Providing Resources Accessing Resources Resource Types 29

ResourceAct.java 30

resact.xml strings.xml 31

main.xml UiPracticeFirst.java AndroidManifest.xml 32

33

컬러코드 #RGB, #ARGB, #RRGGBB, #AARRGGBB A: 알파채널 (0: 투명, 디폴트 = 불투명 ) 첫번째버튼을누를때마다색깔이변하도록코딩 34

ResourceAct.java 35

36

생성된리소스 (res/ ) 들은 R 클래스의리소스 ID 를통해액세스할수있다. 리소스를액세스하는두가지방법 In code: R 클래스의 static integer 로액세스한다. 예제 : R.string.hello In XML: @ 로시작하는특수 syntax 로액세스한다. 예제 : @string/hello 37

리소스 ID 를사용하여액세스한다. 38

Resources 의여러메소드를사용하여액세스한다. 39

지금까지 res/ 에서이미많이사용했다. 예제 : 다음리소스가 XML 로정의되었다하자. 40

다음과같이 layout 정의에서사용할수있다. 41

시스템에포함된리소스는애플리케이션에서도사 용이가능하다. 이들리소스는 android.r 클래스에정의되어있다. 42

시스템에정의된스타일사용예제 43

Concept of Resources Providing Resources Accessing Resources Resource Types Animation Color, Color State List Drawable String Dimension 44

Tween Animation i 주어진그래픽에대한회전 (rotating), 페이딩 (fading), 움직임 (moving), 확대 (stretching) 등의애니메이션을수행한다. 애니메이션내용은 XML 파일에정의 / 저장된다. Frame Animation ( 영화처럼 ) 일련의이미지들을순서에따라보여주는애니메이 션을수행한다. 마찬가지로, 애니메이션내용이 XML 파일에정의 / 저장된다. 45

기능 : 주어진그래픽에대한회전, 페이딩, 움직임, 확대등의애니메이션수행파일위치 : res/anim/filename.xml 파일이름 (filename) 은코드에서리소스 ID로사용됨 컴파일된리소스데이터타입 : Animation 에대한포인터 Animation myanim = AnimationUtils.loadAnimation(this, R.anim.filename); 46

47

<set> 다른애니메이션엘리먼트를포함하는컨테이너 하나의 AnimationSet 을표현한다. <alpha> 페이딩수행 하나의 AlphaAnimation 을표현한다. android:fromalpha 페이딩을시작하는투명도 (0: 투명, 1: 불투명 ) android:toalpha 페이딩을마치는투명도 <scale> 크기변경을수행 하나의 ScaleAnimation 을표현한다. android:fromxscale, android:toxscale 가로의시작 / 끝크기 android:fromyscale, android:toyscale 세로의시작 / 끝크기 android:pivotx, android:pivoty: 핀이꽂힌중심좌표 48

<translate> 수평 / 수직움직임제어 하나의 TranslateAnimation 을표현한다. android:fromxdelta, android:fromydelta 시작하는 X/Y 위치 android:toxdelta, android:toydelta 끝나는 X/Y 위치 <rotate> 회전수행 하나의 RorateAnimation 을표현한다. android:fromdegree, android:todegree 회전의시작 / 끝각도 android:pivotx, android:pivoty 회전중심에대한 X/Y 좌표 <Interpolator> 애니메이션 ( 가 ) 속도, 반복등제어 주요속성 : duration, startoffset, fillbefore, repeatcount 등 49

애니메이션이정의되는 XML 파일을작성한다. (1/2) 50

애니메이션이정의되는 XML 파일을작성한다. (2/2) 51

애니메이션을적용 / 시작할버튼을만든다. resact.xml 52

Java a 코드에서해당애니메이션을적용한다. ResourceAct.java 53

수행결과 54

기능 : 필름의롤처럼일련의이미지를순서대로제생 하는전통적인애니메이션 ( 포토액자기능 ) 파일위치 : res/anim/filename.xml 파일이름 (filename) 은코드에서리소스 ID 로사용됨 컴파일된리소스데이터타입 : AnimationDrawable 에대한포인터 AdminationDrawable frameanimation; 55

true: 한번만, false: 계속반복 지속시간 (milliseconds) 리소스 ( 대개이미지 ) 의위치 56

애니메이션이정의되는 XML 파일을작성한다. 57

애니메이션을시작할버튼을만든다. resact.xml 58

애니메이션을실행할액티비티를하나만든다. 59

Java a 코드에서해당애니메이션을적용한다. ResourceAct.java AndroidManifest.xml strings.xml 60

수행결과 61

Resource Types Animation Color, Color State List Drawable String Dimension 62

컬러값 :# #-AlphaRedGreen-Blue #RGB, #ARGB #RRGGBB, #AARRGGBB 파일위치 : res/values/colors.xml ( 파일이름무관 ) Syntax: <color name=color_name>#color_value</color> name>#color 정의된컬러이름사용 AdminationDrawable frameanimation; In Java: R.color.color_name In XML: @[package:]color/color_name 63

resact.xml opaque: 불투명한 translucent: 투명한 64

ResourceAct.java 65

66

오브젝트의상태에따라, 다른컬러를부여하고싶을때사용 파일위치 : res/color/filename.xml 파일이름 (filename) 은코드에서리소스 ID로사용됨 Syntax 67

resact.xml 68

clicked touched 69

Resource Types Animation Part 2 Color, Color State List Drawable String Dimension 70

71