레이아웃 (Layout)

Size: px
Start display at page:

Download "레이아웃 (Layout)"

Transcription

1 레이아웃 (3 장 ) 김성영교수 금오공과대학교 컴퓨터공학부

2 Contents 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가 지기법들에대하여알아본다. 내용 뷰 (View) 리니어레이아웃 (Linear Layout) 다른레이아웃 레이아웃관리 2

3 액티비티 vs. 뷰 액티비티 (Activity) 안드로이드응용프로그램의화면을구성하는주요단위 여러개의액티비티가모여하나의응용프로그램을구성 화면에직접적으로보이지않음 뷰 (View) 사용자를대면하는실체 여러개의뷰가모여하나의액티비티를구성 레이아웃 : 액티비티안에뷰를배치하는기법 3

4 뷰의종류 위젯 (widget) 직접적으로보이며사용자인터페이스를구성 ( 컨트롤 ) View 클래스로부터직접파생되며스스로를그릴수있는능력을가지고있음 뷰그룹 (view group) 직접보이지는않으며뷰를담는컨테이너역할을수행 ( 레이아웃 ) View 클래스로부터파생된 ViewGroup 클래스의서브클래스임 다른뷰들을자식으로포함하며이들을정렬하는기능을가짐 뷰그룹이면서위젯처럼사용되는경우도있음 ( 예 : 리스트뷰 ) 4

5 위젯계층구조 Object AnalogClock EditText AutoCompleteTextView View TextView Button CompoundButton Chronometer CheckBox DigitalClock RadioButton ImageView ImageButton ToggleButton SurfaceView GLSurfaceView VideoView SeekBar ProgressBar AbsSeekBar RatingBar 5

6 뷰그룹계층구조 Object FrameLayout ScrollView, HorizontalScrollView View TabHost, TimePicker, DatePicker ViewGroup AbsoluteLayout ViewAnimator WebView ViewFlipper ViewSwitcher TextSwitcher ImageSwitcher RelativeLayout LinearLayout RadioGroup, ZoomControls TableLayout, TableRow TabWidget AdapterView AbsListView AbsSpinner ListView GridView Spinner Gallery 6

7 View 클래스속성 (1) id 뷰를구분하는식별자 : id를리소스 (R.java) 에정의하거나참조한다는의미 ( 반드시사용 ) + : id를새로정의한다는의미 ( 참조시는생략가능 ) id : 예약어 / : 이름을지정 ( 명칭규칙에맞아야하며중복불가 ) ex) android:id="@+id/name" : name이라는새로운 id 부여 id를지정하면 R.java에정수형상수로저장됨 코드에서참조할필요없는경우에는일반적으로 id를생략함 7

8 View 클래스속성 (2) layout_width, layout_height 폭과높이지정 가능한속성값 fill_parent : 부모의주어진크기를다채움 wrap_content : 내용물의크기만큼만채움 정수크기 : 지정한크기에맞춤 단위 : px, in, mm, pt, dp ( 또는 dip), sp ( 또는 sip) ex) "Start" 라는캡션을가지는버튼배치 8

9 View 클래스속성 (3) Background 배경을지정 ( 색상및이미지등 ) 색상지정형식 #RGB, #ARGB, #RRGGBB, #AARRGGBB ex) #ff0000 (#f00): 빨간색, #0000ff : 파란색 padding 뷰와내용물간의간격지정 ( 안쪽여백 ) 가능한속성값 paddingleft, paddingtop, paddingright, paddingbottom 9

10 View 클래스속성 (3) visibility 뷰의표시유무지정 가능한속성값 visible : 화면에표시 invisible : 숨겨진상태이며자리차지 gone : 숨겨진상태이며자리차지하지않음 clickable, longclickable 마우스의클릭혹은롱클릭이벤트여부에대한설정 (true 혹은 false) click : 손가락으로뷰를누름 longclick: 손가락으로뷰를누른채잠시기다림 10

11 View 클래스속성 (4) focusable 키보드포커스를받을수있는지여부를지정 디폴트값은 false임 Edit 혹은 Button과같이사용자의입력이필요한파생클래스는디폴트로 true가지정됨 11

12 TextView 클래스속성 (1) 문자열출력및입력을위한위젯 Text 출력할문자열지정 (literal 혹은 resource) 형식 설명 " 문자열 " \: 이스케이프문자예 ) \n: 줄바꿈, \uxxxxx 패키지 :]type:name 리소스에대한레퍼런스지정보통 string.xml 식으로지정?[ 패키지 :][type:]name 테마속성으로지정 textcolor 문자열색상 ( 디폴트 : 불투명한밝은회색 ) 형식 : #RRGGBB 혹은 #AARRGGBB 12

13 TextView 클래스속성 (2) textsize 텍스트의폰트크기지정 ( 단위 : sp, dp, px, in, mm 등 ) textstyle 글꼴속성지정 (normal, bold, italic) 로두가지이상속성지정가능 ex: "bold italic", "normal italic" typeface 글꼴모양지정 (normal, sans, serif, monospace) 13

14 TextView 클래스속성 (3) width, height 텍스트뷰의폭과높이지정 텍스트뷰는단독으로존재하는경우는거의없고대부분레이아웃안에서차일드로존재하기때문에이두속성은거의사용되지않음 singleline 텍스트가위젯의폭보다길때강제로한줄에출력 디폴트는 false 임 14

15 TextView 클래스예제 string.xml <?xml version="1.0"encoding="utf-8"> <resources> <string name="hello">hello World, TextViewTest!</string> <string name="app_name">textviewtest</string> <string name="insa">hello</string> <string name="anyoung"> 안녕하세요 </string> </resources> main.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent"> <TextView android:textcolor="#ff0000" android:textsize="20pt" android:textstyle="italic"/> <TextView android:textsize="20sp" android:background="#0000ff"/> <TextView android:text="good Morning" android:textcolor="#8000ff00" android:textsize="5mm" android:typeface="serif"/> </LinearLayout> pp. 112 ~

16 ImageView 클래스 아이콘이나비트맵을출력하는위젯 jpg, png, gif 등의이미지포맷지원 SDK 1.6 이후해상도별로세개의폴더가존재하며운영체제가사용할이미지결정 고해상도이미지 저해상도이미지 중해상도이미지 16

17 ImageView 클래스속성 (1) src 출력할이미지지정 형식으로사용 maxheight, maxwidth 이미지가출력될최대크기지정 adjustviewbounds 이미지의종횡비에따른이미지뷰의크기변경여부설정 (true 혹은 false) 17

18 ImageView 클래스속성 (2) croptopadding true: 위젯의주어진여백에맞추기위해이미지의일부를잘라냄 tint 색조변경 형식 : #AARRGGBB scaletype 이미지의크기를변경하여출력할때사용할알고리즘지정 matrix, fitxy, center, centercrop, centerinside 등 18

19 ImageView 클래스예제 pp. 117 ~ 118 Layout/imageviewtest.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent"> <ImageView 200x150 android:src="@drawable/pride"/> <ImageView android:src="@drawable/pride" android:maxheight="70px" android:maxwidth="120px" android:adjustviewbounds="true"/> <ImageView android:src="@drawable/dog" android:tint="#4000ff00"/> </LinearLayout> 19

20 ImageView 클래스 사용상의주의사항 사용할이미지파일을 res/drawable 폴더에복사 자동으로 R.java 에이미지 id 생성 파일명사용에주의 영문자와언더바 (_) 로만구성 공백문자사용불가 소문자만을사용 20

21 Button 및 Edit 클래스 (1) TextView 의서브클래스이며고유속성은없음 Button : 사용자로부터명령을입력받음 EditText : 문자열을입력받음 Layout/buttonedit.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent"> <EditText android:layout_width="wrap_content" android:id="@+id/edit" android:text=" 여기다입력 "/> <Button android:layout_width="wrap_content" android:id="@+id/btn" android:text=" 입력완료 "/> </LinearLayout> p

22 Button 및 Edit 클래스 (2) src/buttonedit.java package exam.buttonedit; import android.app.activity; import android.os.bundle; import android.view.*; import android.widget.*; public class ButtonEdit extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.buttonedit); } } Button btn = (Button)findViewById(R.id.btn); btn.setonclicklistener(new Button.OnClickListener() public void onclick(view v) { EditText edit = (EditText)findViewById(R.id.edit); String str = edit.gettext().tostring(); Toast.makeText(ButtonEdit.this, str, Toast.LENGTH_SHORT).show(); } }); pp. 121 ~

23 LinearLayout 개요 java.lang.object android.view.view android.view.viewgroup android.widget.linearlayout 차일드뷰 ( 위젯및뷰그룹 ) 를수평이나수직으로일렬배치하는레이아웃 주요속성 orientation, gravity, layout_gravity, baselinealigned 23

24 LinearLayout 주요속성 : orientation (1) orientation 뷰의배치방향을결정 ( 디폴트 : horizontal) vertical : 차일드를위에서아래로수직으로배열 horizontal : 차일드를왼쪽에서오른쪽으로수평배열 버튼 1 버튼 1 버튼 2 버튼 3 버튼 2 버튼 3 [ vertical ] [ horizontal ] 24

25 LinearLayout 주요속성 : orientation (2) Layout/Horizontal (ButtonEdit 변경 ) <LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_height="fill_parent" > Layout/Horizontal2 (TextViewTest 변경 ) <TextView android:orientation="horizontal" android:text="@string/insa" android:textcolor="#ff0000" android:textsize="20pt" android:textstyle="italic"/> 나머지두텍스트는오른쪽으로밀려남 Layout/Horizontal3 <TextView android:orientation="horizontal" android:layout_width="wrap_content" android:text="@string/insa" android:textcolor="#ff0000" android:textsize="20pt" android:textstyle="italic"/> 25

26 LinearLayout 주요속성 : gravity (1) gravity vs. layout_gravity gravity 뷰내부의내용물에대한배치방법 layout_gravity 뷰를부모내에배치하는방법 26

27 LinearLayout 주요속성 : gravity (2) gravity 수평, 수직방향에대한정렬방식지정 두가지속성을동시에지정 : " " 연산자 ( 연산자양쪽에공백없음 ) 상수 값 설명 center_horizontal 0x01 수평으로중앙배치 left 0x03 왼쪽배치, 크기변경없음 right 0x05 오른쪽배치 fill_horizontal 0x07 수평방향으로가득채움 center_vertical 0x10 수직으로중앙배치 top 0x30 상단배치, 크기변경없음 bottom 0x50 하단배치 fill_vertical 0x70 수직방향으로가득채움 center 0x11 수평및수직으로중앙배치 fill 0x77 컨테이너에가득채움 27

28 LinearLayout 주요속성 : gravity (3) Layout/gravity1.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" > <TextView android:layout_height="fill_parent" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00"/> </LinearLayout> Layout/gravity2.xml <TextView android:layout_height="fill_parent" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:gravity="center"/> 28

29 LinearLayout 주요속성 : gravity (4) Layout/gravity3.xml <TextView android:layout_height="fill_parent" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:gravity="center_vertical"/> Layout/gravity3.xml <TextView android:layout_height="fill_parent" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:gravity="center_vertical right"/> 29

30 LinearLayout 주요속성 : layout_gravity (1) Layout/lgravity.xml <TextView android:layout_height="fill_parent" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:background="#ff0000" android:layout_gravity="center"/> 30

31 LinearLayout 주요속성 : layout_gravity (2) Layout/lgravity1.xml <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:background="#ff0000" android:layout_gravity="center"/> Layout/lgravity1.xml <TextView android:layout_width="wrap_content" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:background="#ff0000" android:layout_gravity="center"/> [ lgravity1 width 만변경 ] [ lgravity1 width, height 모두변경 ] 수직 ( 수평 ) 리니어는차일드의수직 ( 수평 ) 요청을무시 31

32 Layout/lgravity2.xml <?xml version="1.0" encoding="utf-8"> LinearLayout 주요속성 : <LinearLayout layout_gravity (3) xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:gravity="center" > <TextView android:layout_width="wrap_content" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:background="#ff0000"/> </LinearLayout> Layout/lgravity3.xml [ lgravity2 ] [ lgravity3 ] <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:gravity="center" > <TextView android:layout_width="wrap_content" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:background="#ff0000"/> <Button android:layout_width="wrap_content" android:layout_heigth="wrap_content" android:text=" 버튼이다."/> </LinearLayout> 32

33 LinearLayout 주요속성 : layout_gravity (4) Layout/lgravity4.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:gravity="center" > <TextView android:layout_width="200px" android:layout_height="100px" android:text=" 정렬테스트 " android:textsize="30pt" android:textcolor="#00ff00" android:background="#ff0000" android:layout_gravity="center_horizontal" android:gravity="right bottom"/> </LinearLayout> [ lgravity4 ] 33

34 LinearLayout 주요속성 : baselinealigned 높이가다른차일드뷰를수평으로정렬시하단정렬지정여부 디폴트 : true [ base1 ] [ base2 ] 수평리니어에서만적용 Layout/base1.xml ~ base2.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_height="fill_parent" android:baselinealigned="true" > // false 로변경하면? <TextView android:layout_width="wrap_content" android:text="medium" android:textsize="10pt"/> <TextView android:layout_width="wrap_content" android:text="small" android:textsize="5pt" android:background="#0000ff"/> <TextView android:layout_width="wrap_content" android:text="large" android:textsize="20pt" android:typeface="serif"/> </LinearLayout> 34

35 LinearLayout 주요속성 : layout_weight (1) 중요도에따라차일드의크기를균등분할 값이클수록많은영역차지 0: 자신의고유크기로표현 1이상 : 형제뷰와의비율에따라부모의영역을균등하게배분 예 ) 버튼세개의중요도가 1, 3, 1이면부모의전체높이를 1:3:1로등분 35

36 LinearLayout 주요속성 : layout_weight (2) Layout/weight1.xml ~ weight2.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android" android:orientation="vertical" android:layout_height="fill_parent"> <Button android:text=" 위쪽버튼 " android:layout_weight="1"/> // 1 <EditText android:text=" 가운데에디트 " android:layout_weight="3"/> // 2 <Button android:text=" 아래쪽버튼 " android:layout_weight="1"/> // 3 </LinearLayout> [ weight1 ] [ weight2 ] 36

37 LinearLayout 주요속성 : layout_weight (3) Layout/weight3.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent"> <Button android:layout_height="64px" android:text="tool Bar" android:layout_weight="0"/> <EditText android:layout_height="fill_parent" android:layout_weight="1"/> <Button android:layout_height="64px" android:text="menu Bar" android:layout_weight="0"/> </LinearLayout> [ weight3 ] 37

38 LinearLayout 주요속성 : 기타 (1) padding 뷰와내용물간의간격지정 (View의속성 ) 4면모두동일한여백지정 paddingleft, paddingtop, paddingright, paddingbottom 개별여백지정 layout_margin 마진패딩 뷰와부모와의간격을지정 근처에형제뷰가있으면설정한간격으로여백생성 뷰의입장에서볼때바깥여백을뜻하며레이아웃의속성 4면모두동일한여백지정 개별여백지정가능 Button layout_marginleft, layout_marginright, layout_margintop, layout_marginbottom 패딩 마진 38

39 LinearLayout 주요속성 : 기타 (2) Layout/padding1.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent"> <EditText android:text="upper Text"/> <LinearLayout android:background="#ff0000"> <Button android:text="button"/> </LinearLayout> <EditText android:text="lower Text"/> </LinearLayout> [ padding1 ] 39

40 LinearLayout 주요속성 : 기타 (3) Layout/padding2.xml <LinearLayout android:background="#ff0000" android:layout_margin="10px"> [ padding2 ] Layout/padding3.xml <LinearLayout android:background="#ff0000" android:layout_margin="10px" android:padding="10px"> [ padding3 ] 40

41 RelativeLayout (1) 위젯과부모와의위치관계또는위젯끼리의관계를지정함으로써뷰를배치 ( 기준위젯에반드시 id 지정 ) 특정뷰가다른뷰의위치에종속적일때기준이되는뷰를먼저정의해야함 ex: A를 B의위에배치하고싶다면 XML 문서상에 B를먼저기술한후 A를나중에기술해야함 A B <RelativeLayout> <B android:id="@+id/b" /> <A layout_above="@id/b" /> </RelativeLayout> [ 원하는배치 ] [ XML 문서 ] 41

42 RelativeLayout (2) 레이아웃이배치되는순서 철수철수영희철수영희철수영희 몽룡 춘향 몽룡 좌상단에 철수오른쪽에 영희밑에 부모의오른쪽에 몽룡왼쪽에몽룡의아래쪽정렬 42

43 RelativeLayout (3) [ relative1 예제실행결과 ] Layout/relative1.xml <?xml version="1.0" encoding="utf-8"> <RelativeLayout xmlns:android=" android:orientation="vertical" > <TextView android:id="@+id/chulsoo" android:layout_width="wrap_content" android:layout_marginright="20px" android:textsize="15pt" android:text=" 철수 "/> <TextView android:id="@+id/younghee" android:layout_width="wrap_content" android:layout_torightof="@id/chulsoo" android:textsize="15pt" android:text=" 영희 "/> <TextView android:id="@+id/mongryong" android:layout_width="wrap_content" android:layout_below="@id/younghee" android:layout_alignparentright="true" android:layout_marginleft="10px" android:textsize="15pt" android:text=" 몽룡 "/> <TextView android:id="@+id/chunhyang" android:layout_width="wrap_content" android:layout_torightof="@id/mongryong" android:layout_alignbottom="@id/mongryong" android:textsize="15pt" android:text=" 춘향 "/> </RelativeLayout> 43

44 RelativeLayout (4) Attribute Name android:layout_above android:layout_alignbaseline android:layout_alignbottom android:layout_alignleft android:layout_alignparentbottom android:layout_alignparentleft android:layout_alignparentright android:layout_alignparenttop android:layout_alignright android:layout_aligntop android:layout_below android:layout_centerhorizontal android:layout_centerinparent android:layout_centervertical android:layout_toleftof android:layout_torightof Description Positions the bottom edge of this view above the given anchor view ID. Positions the baseline of this view on the baseline of the given anchor view ID. Makes the bottom edge of this view match the bottom edge of the given anchor view ID. Makes the left edge of this view match the left edge of the given anchor view ID. If true, makes the bottom edge of this view match the bottom edge of the parent. If true, makes the left edge of this view match the left edge of the parent. If true, makes the right edge of this view match the right edge of the parent. If true, makes the top edge of this view match the top edge of the parent. Makes the right edge of this view match the right edge of the given anchor view ID. Makes the top edge of this view match the top edge of the given anchor view ID. Positions the top edge of this view below the given anchor view ID. If true, centers this child horizontally within its parent. If true, centers this child horizontally and vertically within its parent. If true, centers this child vertically within its parent. Positions the right edge of this view to the left of the given anchor view ID. Positions the left edge of this view to the right of the given anchor view ID. 44

45 RelativeLayout (5) RelativeLayout 예제 name card 좌상단의이미지를제일먼저배치하고그아래삭제버튼배치 부모의위쪽변에이름을붙이면서동시에이미지의오른쪽에배치 부모의오른쪽에전화번호를붙이되이름과베이스를맞춤 설명문자열은이름밑에붙이되왼쪽변을이름과나란히맞춤 [ 정상적인결과 ] [ 베이스를맞추지않은결과 ] 45

46 AbsoluteLayout 관계나순서에상관없이지정한절대좌표에차일드뷰배치 공식문서에는사용을금지함 (RelativeLayout, FrameLayout 사용 ) Layout/absolute.xml <?xml version="1.0" encoding="utf-8"> <AbsoluteLayout xmlns:android=" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_x="50px" android:layout_y="100px" android:textsize="15pt" android:text="(50,100)"/> <TextView android:layout_width="wrap_content" android:layout_x="200px" android:layout_y="70px" android:textsize="15pt" android:text="(200,70)"/> </AbsoluteLayout> 46

47 FrameLayout (1) 모든차일드를프레임의좌상단에배치 차일드가두개이상일때는추가된순서대로겹쳐서표시함 ViewGroup 의서브클래스 addview, removeview: 실행중에차일드를추가및삭제 getchildcount: 차일드의개수확인 필요한차일드만표시하고겹쳐진차일드는숨겨둘수있음 차일드의보임상태는개별뷰의 visibility 속성을사용하여조정하며실행중에도조건에따라뷰의보임상태를변경할수있음 47

48 FrameLayout (2) foreground 차일드의위쪽에살짝얹히는이미지를지정 반투명한색상, 이미지사용이가능 foregroundgravity 전경의이미지를배치할방법을지정 ( 디폴트 : fill) measureallchildren 모든차일드의크기를다측정할것인지, 보이거나숨겨진차일드의크기만적용할것인지를지정 디폴트는 false이며 GONE 상태의차일드크기는측정하지않음 48

49 FrameLayout (3) Layout/frame.xml <?xml version="1.0" encoding="utf-8"> <FrameLayout xmlns:android=" android:layout_height="fill_parent"> <Button android:layout_width="wrap_content" android:text="push Button"/> <ImabeView android:layout_width="wrap_content" </FrameLayout> Layout/frame.java public class Frame extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancesatae); setcontentview(r.layout.frame); } } Button btn = (Button)findViewById(R.id.btn); btn.setonclicklistener(new Button.OnClickListener() { public void onclick(view v) { ImageView img = (ImageView)findViewById(R.id.img); if(img.getvisibility() == View.VISIBLE) { img.setvisibility(view.invisible); } else { img.setvisibility(view.visible); } } }); 49

50 TableLayout 표형식으로차일드를배치 ( 바둑판모양 ) TableRow 객체로구성되며내부에열 ( 셀 ) 이배치 셀에는차일드뷰하나를포함 크기속성에대한제약이있음 TableRow 객체의높이는항상 wrap_content로강제됨 layout_width 속성은따로지정할수없으며항상 fill_parent로가정됨 [ TableLayout 예제 ] [ TableLayout 예제 ] 50

51 레이아웃중첩 (1) 레이아웃끼리중첩가능 레이아웃중첩예제 NestLayout 제일바깥에 LinearLayout, 전체는수직으로뷰를배열 수직 LinearLayout 안에 TextView, Table, 수평 LinearLayout을일차차일드로배치 Table은다시 2행 3열의셀로분할되고, 각셀에는텍스트뷰를포함 수평 LinearLayout 안에는세개의 TextView를배치 TextView TextView TextView TextView 수직리니어 테이블 테이블로우 TextView TextView TextView pp. 158 ~ 159 TextView TextView TextView 수평리니어 51

52 레이아웃중첩 (2) 레이아웃중첩예제 MultPage 각버튼을누를때프레임내의모든페이지를일단숨긴후버튼에대응되 는페이지만을표시 [ Page 1 button ] [ Page 2 button ] [ Page 3 button ] pp. 160 ~

53 실행중속성변경 (1) 대부분의속성은관련메서드를사용하여실행중변경가능함 LinearLayout 클래스 public void LinearLayout.setOrientation( int orientation ) gravity 변경메서드 public void TextView.setGravity( int gravity ) TextView 속성관련메서드 void settext( CharSequence text ) void settextcolor( int color ) void settextsize( float size ) 53

54 실행중속성변경 (2) View Activity.findViewById (int id) View View.findViewById (int id) ID를사용하여해당뷰객체 (View) 를검색 액티비티및뷰에정의됨 액티비티에서호출시전체레이아웃에서검색 특정뷰에서검색시뷰의차일드중하나를검색 54

55 Layout/layout_codelayout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" > <Button android:layout_width="wrap_content" android:text=" 버튼 " /> <TextView android:layout_width="wrap_content" android:text=" 문자열 " /> <EditText android:layout_width="wrap_content" android:text=" 에디트 " /> </LinearLayout> 55

56 Layout/CodeLayout2.java public class CodeLayout2 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.layout_codelayout); LinearLayout MyLinear = (LinearLayout)findViewById(R.id.MyLinear); MyLinear.setOrientation(LinearLayout.HORIZONTAL); Button MyBtn = (Button)findViewById(R.id.MyButton); MyBtn.setTextSize(40); } } EditText MyEdit = (EditText)findViewById(R.id.MyEdit); MyEdit.setBackgroundColor(0xff00ff00); 56

57 레이아웃전개 (1) 레이아웃 (Layout) 생성할뷰의목록, 구조및속성들을열거 XML 문서를사용하여표현 액티비티에배치하기위해서는실제객체를생성해야함 이진형태로컴파일되어실행파일에내장되어실행직후에로드되어객체로변경됨 ADT 의 aapt 툴을사용 57

58 레이아웃전개 (2) 전개 (Inflation) XML 문서에정의된레이아웃과차일드뷰의속성을읽어실제뷰객체를생성하는과정 핵심메소드 : setcontentview( ) XML 문서의리소스 ID 를전달받아객체를생성하여액티비티를채움 58

59 레이아웃전개 (3) public class Inflation extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.layout_inflation); } layout_inflation.xml } <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:background="#ffffff" > <TextView android:gravity="center" android:textcolor="#ff0000" android:textsize="20px" android:text="textview" /> </LinearLayout> 59

60 레이아웃전개 (4) public class Inflation2 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); LinearLayout linear = new LinearLayout(this); linear.setorientation(linearlayout.vertical); linear.setbackgroundcolor(color.white); TextView text = new TextView(this); text.settext("textview"); text.setgravity(gravity.center); text.settextcolor(color.red); text.settextsize(20); } } linear.addview(text); setcontentview(linear); // 레이아웃파라미터생략 60

61 레이아웃전개 (5) public class Inflation3 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); /* XML 전개를직접하기 */ LayoutInflater inflater = (LayoutInflater)getSystemService( Context.LAYOUT_INFLATER_SERVICE); LinearLayout linear = (LinearLayout)inflater.inflate(R.layout.layout_inflation, null); } } setcontentview(linear); 61

62 레이아웃전개 (6) LayoutInflater 클래스 XML 리소스를전개하여뷰객체를생성 getsysemservice( ) 메소드 개발자가직접전개하기위한시스템수준의전개자 View LayoutInflater.inflate(int resource, ViewGroup root) resource XML 리소스 root 생성할뷰의 root로사용할뷰 리소스내부에 root가있으면 null로지정 62

63 레이아웃전개 (7) public class Inflation3 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); /* 컨텍스트로부터전개자구하기 */ LayoutInflater inflater = LayoutInflater.from(this); LinearLayout linear = (LinearLayout)inflater.inflate(R.layout.layout_inflation, null); } } setcontentview(linear); 63

64 레이아웃전개 (8) static LayoutInflater LayouotInflater.from(Context context) LayoutInflater 클래스의정적메소드 컨텍스트를인수로전달하여전개자생성 생성한전개자의 inflate 메소드를호출 Activity는 Context의서브클래스임 this 를인자로사용 64

65 레이아웃전개 (9) public class Inflation3 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); /* View 의정적메소드사용하여전개하기 */ LinearLayout linear = (LinearLayout)View.inflate( this, R.layout.layout_inflation, null ); } } setcontentview(linear); 65

66 레이아웃전개 (10) static View inflate (Context context, int resource, ViewGroup root) View의정적메서드 가장짧은길이의코드 66

67 레이아웃전개 (11) 사용용도 특정뷰혹은뷰그룹하나만을전개 layout_mytext.xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android=" k/res/android" android:gravity="center" android:textcolor="#ff0000" android:textsize="20px" android:text="textview" /> public class Inflation4 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); } } LinearLayout linear = new LinearLayout(this); linear.setorientation(linearlayout.vertical); linear.setbackgroundcolor(color.white); TextView text = (TextView)View.inflate( this, R.layout.layout_mytext, null); linear.addview(text); // 레이아웃파라미터생략 setcontentview(linear); 67

68 레이아웃파라미터 (1) 뷰가배치되는부모, 즉레이아웃의속성으로부모에게차일드뷰를배치할방법지시 뷰외부와의관계지정 "layout_" 으로시작 위젯의부모레이아웃에따라적용가능한종류가변경 레이아웃 ViewGroup.LayoutParams ViewGroup.MarginLayoutParams LinearLayout.LayoutParams AbsoluteLayout.LayoutParams RelativeLayout.LayoutParams 파라미터 layout_width, layout_height layout_marginleft, layout_marginright layout_gravity, layout_weight layout_x, layout_y layout_above, layout_alignparentright 68

69 레이아웃파라미터 (2) Object LinearLayout.LayoutParams ViewGroup.LayoutParams ViewGroup.MarginLayoutParams RelativeLayout.LayoutParams FrameLayout.LayoutParams 69

70 레이아웃파라미터 (3) Layout/LayoutParameter.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:background="#ffffff" android:gravity="center"> <TextView android:layout_width="wrap_content" android:textcolor="#ff0000" android:textsize="20px" android:text="textvieiw" android:background="#00ff00"/> </LinearLayout> 70

71 Layout/LayoutParameter2.java public class LayoutParameter2 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); LinearLayout linear = new LinearLayout(this); linear.setorientation(linearlayout.vertical); linear.setgravity(gravity.center); linear.setbackgroundcolor(color.white); TextView text = new TextView(this); text.settext("textview"); text.settextcolor(color.red); text.settextsize(20); text.setbackgroundcolor(color.green); LinearLayout.LayoutParams paramtext = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); linear.addview(text, paramtext); } } setcontentview(linear); 71

72 레이아웃파라미터설정을생략한경우 72

73 레이아웃파라미터 (4) Layout/MarginParameter.xml <?xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:background="#ffffff"> <Button android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="button With Margin" android:layout_margintop="30px" android:layout_marginbottom="30px"/> </LinearLayout> 73

74 Layout/MarginParameter2.java public class MarginParameter2 extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); LinearLayout linear = new LinearLayout(this); linear.setorientation(linearlayout.vertical); linear.setbackgroundcolor(color.white); Button btn = new Button(this); btn.settext("button With Margin"); LinearLayout.LayoutParams parambtn = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.FILL_PARENT); parambtn.setmargins(0, 30, 0, 30); linear.addview(btn, parambtn); } } setcontentview(linear); 74

75 Lab Layout Test RelativeLayout 사용 arrow.png 사용 layout_margin 계열사용 75

Contents v 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. v 내용 뷰 (View) 리니어레이아웃 (Linear Layout)

Contents v 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. v 내용 뷰 (View) 리니어레이아웃 (Linear Layout) 레이아웃 (Layout) 안드로이드프로그래밍정복 (Android Programming Complete Guide) Contents v 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. v 내용 뷰 (View) 리니어레이아웃 (Linear Layout) v 뷰의계층 안드로이드응용프로그램의화면을구성하는주요단위인액티비티는화면에직접적으로보이지않으며,

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 레이아웃 (Layout) 안드로이드프로그래밍정복 (Android Programming Complete Guide) 2/20 Contents 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. 내용 뷰 (View) 리니어레이아웃 (Linear Layout) 다른레이아웃 레이아웃관리 3/20 1. 뷰 (View) 뷰의계층 안드로이드응용프로그램의화면을구성하는주요단위인액티비티는화면에직접적으로보이지않으며,

More information

2_안드로이드UI

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

More information

리니어레이아웃 - 2 -

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

More information

어댑터뷰

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

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

Microsoft PowerPoint - DoItAndroid_PART02_01_기본위젯과레이아웃_Rev.1.0 [호환 모드]

Microsoft PowerPoint - DoItAndroid_PART02_01_기본위젯과레이아웃_Rev.1.0 [호환 모드] Do It! 안드로이드앱프로그래밍 PART 0 Chapter 01 기본위젯과레이아웃 Sep. 011 이지스퍼블리싱 ( 주 ) 제공강의교안저자 : 정재곤 이번장에서는무엇을다룰까요? 이번장에서는무엇을다룰까요? 화면을먼저만들어보고싶어요. 레이아웃을이용해 뷰란무엇일까요? 뷰를화면에배치해볼까요? 기본위젯사용하기 뷰란무엇일까요? 버튼 검색어 안드로이드 텍스트 레이아웃을이용해뷰를화면에배치해볼까요?

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

[ 그림 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

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

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

More information

PowerPoint 프레젠테이션

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

More information

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

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드] Android UI 구현 학습목표 교육목표 Android application 구성요소 Activity Layout UI 설계 Linear Layout 구현 Android application 구성요소 (1) () Application 구성요소 AndroidManifest.xml Android application 구성요소 (2) 구성요소 기능 Activity

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

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

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

More information

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

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

More information

슬라이드 1

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

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

Layout

Layout Layout Bok, Jong Soon Jongsoon.bok@gmail.com www.javaexpert.co.kr Layout ViewGroup Is a special view Can contain other views (called children.) Is the base class for layouts and views containers. Also

More information

13ÀåÃß°¡ºÐ

13ÀåÃß°¡ºÐ 13 CHAPTER 13 CHAPTER 2 3 4 5 6 7 06 android:background="#ffffffff"> 07

More information

슬라이드 1

슬라이드 1 사용자인터페이스 (II) 시작하면서 2 목차 리스트뷰 : 어댑터, 어댑터뷰, 대화창 메뉴 리스트뷰 - 어댑터 Adapter 4 배열, XML 파일, 데이터베이스에서다양한종류의값을읽어오는공통의인터페이스 선택위젯에게데이터를제공, 각데이터항목들을위젯내부에표시하는위젯클래스로의변홖수행 사용자인터페이스인뷰와데이터소스를연결 Data Source: Array, XML, Database

More information

03장

03장 CHAPTER3 ( ) Gallery 67 68 CHAPTER 3 Intent ACTION_PICK URI android provier MediaStore Images Media EXTERNAL_CONTENT_URI URI SD MediaStore Intent choosepictureintent = new Intent(Intent.ACTION_PICK, ë

More information

뷰그룹 ( 레이아웃 ) 레이아웃이름 ( 클래스이름 ) FrameLayout LinearLayout 설명단일객체를표현하기위한프레임. 왼쪽상단에하나의뷰를배치하기때문에나중 에그린객체만보여준다. 수평또는수직으로자손의뷰를배치. 뷰가들어갈만한공간이없을때는자동으로 스크롤바가나타난다

뷰그룹 ( 레이아웃 ) 레이아웃이름 ( 클래스이름 ) FrameLayout LinearLayout 설명단일객체를표현하기위한프레임. 왼쪽상단에하나의뷰를배치하기때문에나중 에그린객체만보여준다. 수평또는수직으로자손의뷰를배치. 뷰가들어갈만한공간이없을때는자동으로 스크롤바가나타난다 크기에사용할수있는단위 표기 단위 설명 px 픽셀수 사용중화면에서의픽셀수, 해상도가높아지면픽셀의물리적인크기가줄어든다. in 인치 사용중화면에서의인치단위의길이 mm 밀리미터 사용중화면에서의밀리미터단위의길이 pt 포인트수 사용중화면에서의 1/72 인치를 1 포인트로하는길이 dp 해상도에의존하지않는픽셀수 1은해상도가 180dpi일때 1 픽셀. 10dp가 160dpi일때에는

More information

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt 1. 리스트뷰의구조 리스트뷰는어떤데이터그룹에대한각각의정보들을항목별로출력시키고사용자에게원하는항목을검색하거나선택할수있도록해주는컨트롤객체입니다. 그래서다른컨트롤처럼정해진형태의정보를저장하는것이아니기때문에리스트뷰가데이터를직접관리하기는힘들었을것입니다. 그래서효과적인데이터관리를위해 "ArrayAdapter" 라는클래스가추가되었고리스트뷰는이클래스를이용해서사용자가지정한데이터에접근하도록구현되어있습니다.

More information

슬라이드 1

슬라이드 1 3 장안드로이드프로그램의 첫걸음 시작하면서 2 목차 프로젝트의생성하기 프로젝트파읷및소스코드이해 코드로문자열표시하기 문자열출력프로그램응용 프로젝트에새로운파읷 / 속성추가 프로젝트생성하기 프로젝트생성하기 4 < 실습 5-1>: Android 프로젝트의생성과에뮬레이터구동 (1)[ 그림 3-1](a) 처럼안드로이드프로젝트생성아이콘클릭 [ 그림 3-1](b) 처럼이클립스에서메뉴선택

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

<4D6963726F736F667420506F776572506F696E74202D2032303136B3E25FB8F0B9D9C0CFBEDBC7C1B7CEB1D7B7A1B9D6205BC8A3C8AF20B8F0B5E55D>

<4D6963726F736F667420506F776572506F696E74202D2032303136B3E25FB8F0B9D9C0CFBEDBC7C1B7CEB1D7B7A1B9D6205BC8A3C8AF20B8F0B5E55D> 학습내용 01. 안드로이드 개요 및 개발 환경 구축 안드로이드의 개념과 특징을 이해한다. 안드로이드 개발 환경을 설치한다. 안드로이드 개발 환경을 알아본다. 한국방송통신대학교 컴퓨터과학과 4학년 모바일앱프로그래밍 김 룡 kimryongtutor@knou.ac.kr Page 2 1. 안드로이드 개요 스마트폰 개요 1. 안드로이드 개요 스마트폰 운영체제 통화기능을

More information

슬라이드 1

슬라이드 1 Android Mobile Application Development Part 2 Agenda Part 1 Build Develop Environment Create new Project Composition of Project Simulate Application Part 2 User Interface Activity Toast Preference Log

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

01장

01장 CHAPTER1 Camera (MediaStore) EXIF 1 2 CHAPTER 1 SDK (intent) Camera Camera Camera Android Manifest xml Camera Camera

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Application Framework 어플리케이션프레임워크 발표자 : 김준섭 이문서는나눔글꼴로작성되었습니다. 다운받기 목차 Application Framework. 1. 통지관리자 (Notification Manager) 2. 리소스관리자 (resource manager) 3. 레이아웃인플레이터매니저 (Layout Inflater Manager) Notification

More information

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

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

More information

슬라이드 1

슬라이드 1 13 장. 커스텀뷰개발 API 에서제공하는뷰를그대로이용하면서약간변형시킨뷰 여러뷰를합쳐서한번에출력하기위한뷰 기존 API 에전혀존재하지않는뷰 public class MyView extends TextView { public class MyView extends ViewGroup { public class MyView extends View { 커스텀뷰를레이아웃

More information

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

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도 1. " 소스파일 " 과 " 리소스파일 " 에대하여 소스파일은우리가흔히알고있듯이프로그래밍언어를사용해서자신이만들고자하는프로그램을구현한파일입니다. 예전에작성된프로그램들은소스파일만으로이루어진프로그램도많았습니다. 하지만, 프로그램환경이점점더복잡해지고사용자인터페이스가다양해지면서인터페이스구성을서술식으로나열해서소스파일에표현하는것은한계가왔고작업효율을떨어트리게되어해결책이필요하게되었습니다.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 03 장. 테두리여백지정하는속성 이번장에서는테이블, 레이어, 폼양식등의더예쁘게꾸미기위해서 CSS 를이용하여 HTML 요소의테두리속성을바꾸어보자. 이장에서다룰내용 1 2 3 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 01. 테두리를제어하는스타일시트 속성값설명 border-width border-left-width

More information

(Microsoft PowerPoint - Ch06.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - Ch06.ppt [\310\243\310\257 \270\360\265\345]) Google Android 심화 학습 Dae-Ki Kang 개발 도구들(Development Tools) Android Emulator 에뮬레이터 Hierarchy Viewer 구조 뷰어 Draw 9-patch Android Development Tools Plugin for the Eclipse IDE 개발 툴 Dalvik Debug Monitor Service

More information

¾Èµå·ÎÀÌµå ³¹Àå-Åë.PDF

¾Èµå·ÎÀÌµå ³¹Àå-Åë.PDF 시작하기 시작하기 :: 학습목표 :: 이클립스에서새로운 Project를만들수있다 View를디자인하고프로그램에연결할수있다 버튼의 Listener를작성할수있다 작성한 Listener를여러개의버튼이공유하게할수있다 일정한범위의난수를만들수있다 난수의발생빈도를조절할수있다 프로그램에서 ImageView의비트맵을바꿀수있다 1.1 시작하기에앞서 프로그램의기본흐름은입력, 처리,

More information

Microsoft PowerPoint UI-Layout.Menu.pptx

Microsoft PowerPoint UI-Layout.Menu.pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 User Interface 개요 Declaring Layout Creating Menus 2 View: user interface 의기본단위 사각형 (rectangle) 영역을차지하며, 그리기및이벤트처리의기본단위이다. Widget 을생성하기위한기본클래스이다. 예 : 버튼, 텍스트창,

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

<4D F736F F F696E74202D20BEC8B5E5B7CEC0CCB5E520BEDB20B0B3B9DF20C6AFB0AD E342E312EC3D6C1BEBCF6C1A42DC0CEBCE2BABB292E707

<4D F736F F F696E74202D20BEC8B5E5B7CEC0CCB5E520BEDB20B0B3B9DF20C6AFB0AD E342E312EC3D6C1BEBCF6C1A42DC0CEBCE2BABB292E707 구경모 kookyungmo@gmail.com 본수업교재에는안드로이드프로그래밍정복 ( 김상형 / 한빛미디어 ) 의내용이일부포함되어있습니다. Google 이제작 / 공개한 Open Source 모바일운영체제 개발주체는 OHA(Open Handset Alliance) 컨소시엄이나실질적인리더는구글 (Google) 임 Linux Kernel 기반비독점개방플랫폼 라이선스비용이없음

More information

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부 헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부 학습목표 데이터바인딩을통해데이터소스에해당하는데이터베이스와뷰에해당하는액티비티를연결한데이터베이스응용프로그램을작성할수있다. 안드로이드내의다른어플리케이션의데이터에접근하기위해제공되는 ContentProvider 를사용할수있다. 자신의어플리케이션에서다른어플리케이션으로의데이터제공을위한 ContentProvider

More information

// 화면을터치하였을때해야할작업구현 case MotionEvent.ACTION_MOVE: // 화면을드래그하였때 // 화면을드래그하였을때해야할작업구현 case MotionEvent.ACTION_UP: // 화면에서터치가사라질때 // 화면에서터치가사라질때해야할자업구현 c

// 화면을터치하였을때해야할작업구현 case MotionEvent.ACTION_MOVE: // 화면을드래그하였때 // 화면을드래그하였을때해야할작업구현 case MotionEvent.ACTION_UP: // 화면에서터치가사라질때 // 화면에서터치가사라질때해야할자업구현 c 6 차시이벤트처리 1 학습목표 터치이벤트처리를배운다. XML 의 onclick 속성을사용하여이벤트를처리한다. 2 확인해볼까? 3 이벤트처리하기 1) 학습하기 터치이벤트 public boolean ontouchevent(motionevent event) { swtich(event.getaction()) { case MotionEvent.ACTION_DOWN:

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

50_1953.pdf

50_1953.pdf C h a p t e r 02 194 Part Mobile Apps 01 01 02 Chapter 02 195 03 04 196 Part 02 01 02 03 04 Chapter 02 197 05 06 07 08 198 Part 03 01 02 Chapter 02 199 03 04 05 06 200 Part 07 08 09 10 Chapter 02 201 04

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

<BFF8B5E5B7CEC0CCB5E5322E687770>

<BFF8B5E5B7CEC0CCB5E5322E687770> 안드로이드응용프로그램개발 2010.5 호서대학교뉴미디어학과이호석교수 알림 [1] 세미나자료의 1 장부터 11 장에있는안드로이드관련내용과안드로이드소스코드는참고문헌 (1)(2)(3) 에서발췌하여작성하였다. 12 장과 13 장의내용은 developer.android.com 을참고하여작성하였으며소스코드는 (2)(3) 에서발췌하여작성하였다. [2] 안드로이드에대한최신의내용은

More information

안드로이드2_14

안드로이드2_14 .,,,,,. 11...,,,.,.,.,. Chapter 14. force feedback.., getsystemservice. String service_name = Context.SENSOR_SERVICE; SensorManager sensormanager = (SensorManager)getSystemService(service_name);. Sensor.,,,.

More information

PowerPoint Template

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

More information

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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Hello Android Jo, Heeseung Contents HelloAndroid program AVD 명칭과사용법안드로이드응용프로그램작성안드로이드프로젝트구성 2 처음만드는 [Hello Android] 프로그램 3 처음만드는 [Hello Android] 프로그램 이클립스메뉴 [File]-[New]-[Project] 를선택 [New Project] 창에서

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

위젯과레이아웃위젯은 View 클래스를상속해화면디스플레이와이벤트처리를할수있도록구현된스크린구성의최소단위를말한다. android.widget 패키지에는여러유형의위젯들이포함되어있다. TextView, ImageView, Button, ImageButton 등은가장간단한위젯들이

위젯과레이아웃위젯은 View 클래스를상속해화면디스플레이와이벤트처리를할수있도록구현된스크린구성의최소단위를말한다. android.widget 패키지에는여러유형의위젯들이포함되어있다. TextView, ImageView, Button, ImageButton 등은가장간단한위젯들이 구글안드로이드프로그래밍 GUI 설계, 위젯과레이아웃 QVGA급컬러 LCD 가대세가되어버린최근의휴대폰환경에서는 GUI 도모바일애플리케이션개발의매우중요한요소로자리잡았다. 이번달에는안드로이드플랫폼의 GUI 프레임워크를살펴보도록하자. 5 연재순서 1 회 2008. 1 애플리케이션구조분석 2 회 2008. 2 GUI 설계, 위젯과레이아웃 3 회 2008. 3 액티비티와인텐트,

More information

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.

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

PowerPoint Presentation

PowerPoint Presentation 웹과인터넷활용및실습 (Web & Internet) Suan Lee - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 1 04. CSS3 스타일속성 04. CSS3 Style Properties - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 2 CSS3 단위 1 CSS 는각각의스타일속성에다양한값을입력

More information

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

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

More information

<4D F736F F F696E74202D205BC3D6C1BE5D3133C1D6C2F720B8AEBDBAC6AEBAE420B0ADC0C7C0DAB7E12D >

<4D F736F F F696E74202D205BC3D6C1BE5D3133C1D6C2F720B8AEBDBAC6AEBAE420B0ADC0C7C0DAB7E12D > 13주차 A d a p t e rv i e w 학습내용 1. ListView 2. Spinner 3. GridView ListView AdapterView AdapterView - AdapterView 는항목에해당하는여러개의차일드뷰를통합하여화면에표시할수있음 - 리니어, 렐러티브같이배치만담당하는레이아웃과는달리사용자와상호작용도처리할수있으며항목의선택이가능함 AdapterView

More information

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

Microsoft PowerPoint Application Resources[Part1](2.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Concept of Resources Providing Resources Accessing Resources Resource Types 2 지금까지우리가이미보아온, 사용한 res/ 디렉토리에관한것임 리소스란문자열 (string), 이미지, 아이 콘, 레이아웃등의외부 (external)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

슬라이드 1

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

More information

슬라이드 1

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

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

Microsoft PowerPoint - kandroid_for_sec_ _final [호환 모드]

Microsoft PowerPoint - kandroid_for_sec_ _final [호환 모드] Android Technology & Business Strategy 2009. 2. 2. www.kandroid.org 관리자 : 양정수 (yangjeongsoo@gmail.com), 닉네임 : 들풀 목 차 시작하며 : 기술, 비즈니스, 그리고전략안드로이드란무엇인가? 모바일플랫폼스택안드로이드가추구하는바는? Open Access 안드로이드담론의질서? SDK

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

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

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

01 [ 일기장 ] 애플리케이션프로젝트작성 - [MyDiary] 앱 Mobile Apps >> [MyDiary] 앱프로젝트구조설계 일기장애플리케이션인 [MyDiary] 앱은메인화면과일기장의내용을작성하는화면으로이루어져있다. 화면이 2개라는것은액티비티가 2개이고액티비티에대

01 [ 일기장 ] 애플리케이션프로젝트작성 - [MyDiary] 앱 Mobile Apps >> [MyDiary] 앱프로젝트구조설계 일기장애플리케이션인 [MyDiary] 앱은메인화면과일기장의내용을작성하는화면으로이루어져있다. 화면이 2개라는것은액티비티가 2개이고액티비티에대 Chapter 03 일기장앱개발 일기장애플리케이션프로젝트를작성할수있다. 일기장애플리케이션의화면을작성할수있다. 일기장애플리케이션의로직을작성할수있다. { 프로젝트작성하기 Step 1 - [MyDiary] 앱 [ 일기장 ] 애플리케이션프로젝트작성 >> >> Step 2 [ 일기장 ] 애플리케이션의화면설계 Step 3 [ 일기장 ] 애플리케이션의로직작성 이장에서는

More information

Microsoft PowerPoint - 양정수-Android_View_and_Window_System.ppt [호환 모드]

Microsoft PowerPoint - 양정수-Android_View_and_Window_System.ppt [호환 모드] 2009 제 4 회 Korea Android 세미나 Android Window and View System 2009. 10. 23. www.kandroid.org org 운영자 : 양정수 (yangjeongsoo@gmail.com) 목차 Overview Basic Advancedd Architecture Overview : Android Platform Stack

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

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

Android Master Key Vulnerability

Android Master Key Vulnerability Android Master Key Vulnerability Android Bug 8219321 2013/08/06 http://johnzon3.tistory.com Johnzone 内容 1. 개요... 2 1.1. 취약점요약... 2 1.2. 취약점정보... 2 2. 분석... 2 2.1. 기본개념... 2 2.2. 공격방법... 4 3. 방어대책... 7

More information

콘텐츠 PowerPoint 디자인

콘텐츠 PowerPoint 디자인 서비스 / 스레드 /DB 최 민 서비스 Service 안드로이드는서비스에게비활성액티비티보다높은우선순위부여 시스템이리소스를필요로할때서비스가종료될가능성은적음 서비스가종료되었더라도리소스가충분해지면즉시재시작 GUI 없이실행 Activity, Broadcast receiver와같이애플리케이션프로세스의메인쓰레드내에서실행 좋은반응성을가지려면시간이많이드는처리 ( 네트워크조회등

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

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

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

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

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

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Javascript

Javascript 1. HTML 이란? HTML 은 Hyper Text Mark Up Language 의약자로예약되어있는각종태그라는명령어를이용하여웹페이지를작성할때사용하는언어입니다. 2. HTML 의기본구조 < 태그 > 내용 < 태그속성 = 변수 > 내용

More information

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프 OpenCV 와함께하는컴퓨터비전프로그래밍캠프 Appx. 안드로이드 OpenCV 프로그래밍 Last Update: 2018/06/07 Visual C++ 영상처리프로그래밍 저자 황선규 / 공학박사 sunkyoo.hwang@gmail.com 모바일컴퓨터비전프로그래밍 목차 Android 개요 Android 개발환경구축 Android Studio 설치 OpenCV

More information

예제 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

예제 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 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

일반인을 위한 전자책 제작 방법

일반인을 위한 전자책 제작 방법 국립중앙도서관 디지털 정보활용능력 교육 이펍(ePub) 제작 입문 2015. 6. 강사 : 최 현 이북스펍 대표 (http://ebookspub.co.kr) - 1 - - 강의 내용 - 1. epub 이란 무엇인가 1.1. 전자책 출판 프로세스 이해 1.2. 전자책의 다양한 형태와 제작방식 1.2. epub 개념 이해 및 제작툴 종류 2. epub 제작툴 소개

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.

More information

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx 과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part2. jquery Ch15. 문서객체조작 2014년 1학기 Professor Seung-Hoon Choi 15 문서객체조작 문서객체조작 자바스크립트만으로문서객체모델을다루려면복잡함 jquery를이용하면쉽게다룰수있다. 이책에서가장중요한부분 15.1 문서객체의클래스속성추가

More information