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

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

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

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

리니어레이아웃 - 2 -

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

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

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

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

13ÀåÃß°¡ºÐ

( )부록

03장

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

어댑터뷰

50_1953.pdf

슬라이드 1

01장

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

Daum 카페

슬라이드 1

안드로이드2_14

RDS_MAN_NO 도로구간일련번호 NUMBER(12) BSI_INT_SN 기초구간일련번호 NUMBER(10) EQB_MAN_SN 건물군일련번호 NUMBER(10) BULD_SE_CD 건물구분코드 VARCHAR2(1) BULD_MNNM 건물본번 NUMBER(5) BUL

PowerPoint 프레젠테이션

전자공학설계실험 A 보고서 화 6A ~ 9B 박종태교수님 제출기한 ( 화 ) Android I.S 작업환경 Eclipse_Juno ver. 전자공학부 이상엽전자공학부 오윤재전자공학부

슬라이드 1

슬라이드 1

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

변수이름 변수값 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

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

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

2_안드로이드UI

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

SECTION 01 _ 액션바 (ActionBar) 405 액션바만들기 참고프로젝트 ActionBarDemoA1 간단히액션바를만들고이액션바가 WVGA(800*480) 과 WXGA(1280*800) 에서어떻게보이는지확인해보도록하겠다. 액션바를만든다는표현을했지만액션바는타이

슬라이드 1

PowerPoint Presentation

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

PowerPoint 프레젠테이션

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

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

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

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

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

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

12 주차 인텐트

슬라이드 1

PowerPoint Template

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

Microsoft PowerPoint UI-Layout.Menu.pptx

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부

오버라이딩 (Overriding)

슬라이드 1

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

콘텐츠 PowerPoint 디자인

I II III IV V. 16 A. 17 B. 18

XML Parser

1

Endpoint Protector - Active Directory Deployment Guide

gnu-lee-oop-kor-lec10-1-chap10

12Àå PDF

PowerPoint 프레젠테이션

Chap 8 호스트시스템개발환경구성및 안드로이드개발환경구축

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20446F E64726F69645F F30335FB4D9BEE7C7D1C0A7C1ACB0FAC0CCBAA5C6AEC8B0BFEBC7CFB1E25F52657

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

1

Microsoft Word - src.doc

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

<BFF8B5E5B7CEC0CCB5E5322E687770>

목차 1. Samsung In-App Purchase 소개 다운로드 IAP 3.0 Helper & Sample IAP 3 제약사항 IAP 3 개발모드 지원상품타입 IAP 3

안드로이드애플리케이션과통합하는데는자바가편하므로대표적인두가지라이브러리를비교해보자. 자바 ID3 태그라이브러리 jaudiotagger ID3v1, ID3v1.1, Lyrics3v1, Mp3, Mp4 (Mp4 오디오, M4a 지원범위 Lyrics3v2, ID3v2.2, ID

쉽게 풀어쓴 C 프로그래밍

SQLite v 소개 ü SQLite 라이브러리를통해완전한관계형데이터베이스 (RDBMS) 기능제공 ü 오픈소스 ü 표준준수 ü 경량 ü 단일계층 2

Microsoft PowerPoint - 14주차 강의자료

09-interface.key

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

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

슬라이드 1

鍮뚮┰硫붾돱??李⑤낯

학습목표 게임이나프로그램에옵션을추가하는방법을알아본다. 이전의프로그램을계속하기위해상태를저장하는방법을알아본다. 게임에서현재의실행위치를저장하는방법에대해알아본다. 내부의파일시스템을읽고쓰는방법에대해알아본다. SD 카드에접근하는방법에대해알아본다. 여러 UI 위젯들에대해알아본다.

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

구글안드로이드프로그래밍액티비티, 인텐트수신자, 그리고서비스 안드로이드애플리케이션의구성요소에는액티비티, 인텐트수신자, 서비스, 컨텐트제공자가있다. 이번호에서는사용자인터페이스를위한액티비티와백그라운드서비스를위한인텐트수신자, 그리고서비스의라이프사이클과활용법에대해살펴보도록하자.

비긴쿡-자바 00앞부속

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

제11장 프로세스와 쓰레드

<3136C2F720C6F7B7B3BFF8B0ED2E687770>

1. 화면전환 [ 그림 1] 화면전홖에대한상태도 [ 그림 1] 은게임전반적이화면전홖에대한상태도입니다. 이에대한설명은아래와같습니다. Intro: 게임이시작될때보여주는화면. 화면이보여지고난뒤 2초후면 Main으로이동합니다. 실제게임에서는필요한데이터등을로딩하는동안보여주는형식

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25

<4D F736F F F696E74202D205BC3D6C1BE5D3133C1D6C2F720B8AEBDBAC6AEBAE420B0ADC0C7C0DAB7E12D >

JAVA PROGRAMMING 실습 08.다형성

슬라이드 1

1. 개요 - 계획서 프로젝트개요프로그램명 : 닥터 119 제작배경애완견을키우는사람들이부득이하게병원에가지못할경우에이앱을통해서자가진단을통해상태의심각성을알수있게되고또가까운동물병원으로갈수있는지도와전화번호를제공한다. 그리고애견다이어리기능을통해애견의성장과정과추억들을저

JUNIT 실습및발표

adlibr-android_4.x

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - 2강

4장.문장

Transcription:

8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item android:id="@+id/ 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu. 메뉴XML아이디, menu); return true; } public boolean onoptionsitemselected(menuitem item) { switch(item.getitemid()){ case R.id. 메뉴항목ID; return true; } - 2 -

} return false; 2) 활동하기 활동개요 활동과정 - 3 -

[ 그림 8-2] 메뉴폴더생성 [ 그림 8-3] 메뉴 xml 파일생성 - 4 -

[ 예제 8-1]main.xml ( 메뉴폴더 ) 1 <menu xmlns:android="http://schemas.android.com/apk/res/android" > 2 3 <item 4 android:id="@+id/itemred" 5 android:title=" 빨강 "/> 6 <item 7 android:id="@+id/itemgreen" 8 android:title=" 초록 "/> 9 <item 10 android:id="@+id/itemblue" 11 android:title=" 파랑 "/> 12 13 </menu> 1, 13행메뉴의시작과끝을나타낸다. 3행아이템의시작을나타낸다. 6행의 /> 으로아이템의끝을표시한다. 4행아이템의아이디를설정한다. 5행아이템의제목을설정한다. [ 예제 8-2]main.xml ( 레이아웃폴더 ) 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:gravity="center" 6 tools:context=".menuactivity" > 7 8 <TextView 9 android:id="@+id/tvmenu" - 5 -

10 11 12 13 14 15 android:layout_width="wrap_content" android:text=" 메뉴테스트 " android:textsize="30dp" /> </LinearLayout> [ 예제 8-3]MenuActivity.java 1 package com.example.menu; 2 3 import android.app.activity; 4 import android.graphics.color; 5 import android.os.bundle; 6 import android.view.menu; 7 import android.view.menuitem; 8 import android.widget.textview; 9 10 public class MenuActivity extends Activity { 11 12 TextView tvmenu; 13 14 @Override 15 protected void oncreate(bundle savedinstancestate) { 16 super.oncreate(savedinstancestate); 17 setcontentview(r.layout.main); 18 settitle(" 간단메뉴 "); 19 20 tvmenu = (TextView) findviewbyid(r.id.tvmenu); 21 } - 6 -

22 23 @Override 24 public boolean oncreateoptionsmenu(menu menu) { 25 // Inflate the menu; this adds items to the action bar if it is present. 26 getmenuinflater().inflate(r.menu.main, menu); 27 return true; 28 } 29 30 @Override 31 public boolean onoptionsitemselected(menuitem item) { 32 // TODO Auto-generated method stub 33 switch (item.getitemid()) { 34 case R.id.itemRed: 35 tvmenu.settextcolor(color.red); 36 return true; 37 case R.id.itemGreen: 38 tvmenu.settextcolor(color.green); 39 return true; 40 case R.id.itemBlue: 41 tvmenu.settextcolor(color.blue); 42 return true; 43 } 44 return false; 45 } 46 } 12, 20행텍스트뷰변수를선언하고위젯과연결한다. 24~28행메뉴가클릭되었을때의동작을구현한다. 안드로이드 SDK 4.0.3부터는생성시구현되어있다. 31행 ~45행 onoptionsitemselected() 메소드를오버라이드하여구현한다. 액티비티안에서마우스오른쪽버튼을클릭하여 [Source]- [Override/Implement Methods...] 를선택한다. 대화상자에서 onoptionsitemselected() 메소드를선택한후 <OK> 버튼을눌러메소드를추가한후코딩한다. 33행선택된메뉴항목에대한아이디에따라수행해야할내용을 switch 문으로분기한다. - 7 -

[ 그림 8-4] 간단메뉴실행화면 4 대화상자 1) 학습하기 - 8 -

[ 그림 8-5] 대화상자사용순서 2) 활동하기 활동개요 활동과정 - 9 -

[ 예제 8-4]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:gravity="center_horizontal" 6 android:orientation="vertical" 7 tools:context=".dialogactivity" > 8 <Button 9 android:id="@+id/btninput" 10 android:layout_width="wrap_content" 11 12 android:text=" 사용자정보입력하기 " /> 13 <TextView 14 android:id="@+id/tvname" 15 android:layout_width="wrap_content" 16 17 android:text=" 사용자이름 : " 18 android:textsize="20dp" /> 19 <TextView 20 android:id="@+id/tvage" 21 android:layout_width="wrap_content" 22 23 android:text=" 나이 : " 24 android:textsize="20dp" /> 25 <TextView 26 android:id="@+id/tvemail" - 10 -

27 28 29 30 31 android:layout_width="wrap_content" android:text=" 이메일 : " android:textsize="20dp" /> </LinearLayout> [ 그림 8-6] dialog xml 파일생성 [ 예제 8-5]dialog.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 android:padding="10dp" > - 11 -

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <TextView android:layout_width="match_parent" android:text=" 사용자이름 " /> <EditText android:id="@+id/dlgedtname" android:layout_width="match_parent" android:hint=" 이름을입력하세요." /> <TextView android:layout_width="match_parent" android:text=" 나이 " /> <EditText android:id="@+id/dlgedtage" android:layout_width="match_parent" android:hint=" 나이를입력하세요." /> <TextView android:layout_width="match_parent" android:text=" 이메일 " /> <EditText android:id="@+id/dlgedtemail" android:layout_width="match_parent" android:hint=" 이메일을입력하세요." /> </LinearLayout> [ 예제 8-6]DialogActivity.java 1 package com.example.dialog; 2 3 import android.app.activity; 4 import android.app.alertdialog; 5 import android.content.dialoginterface; - 12 -

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; public class DialogActivity extends Activity { TextView tvname, tvage, tvemail; Button btninput; EditText dlgedtname, dlgedtage, dlgedtemail; View dialogview; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); settitle(" 사용자정보입력 "); tvname = (TextView) findviewbyid(r.id.tvname); tvage = (TextView) findviewbyid(r.id.tvage); tvemail = (TextView) findviewbyid(r.id.tvemail); btninput = (Button) findviewbyid(r.id.btninput); btninput.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view arg0) { dialogview = (View) View.inflate(DialogActivity.this, R.layout.dialog, null); AlertDialog.Builder dlg = new AlertDialog.Builder(DialogActivity.this); dlg.settitle(" 사용자정보입력 "); dlg.seticon(r.drawable.ic_launcher); dlg.setview(dialogview); dlg.setpositivebutton(" 확인 ", new DialogInterface.OnClickListener() { @Override public void onclick(dialoginterface dialog, int which) { dlgedtname = (EditText) dialogview.findviewbyid(r.id.dlgedtname); dlgedtage = (EditText) dialogview.findviewbyid(r.id.dlgedtage); dlgedtemail = (EditText) dialogview.findviewbyid(r.id.dlgedtemail); - 13 -

46 tvname.settext(" 이름 : " + dlgedtname.gettext().tostring()); 47 tvage.settext(" 나이 : " + dlgedtage.gettext().tostring()); 48 tvemail.settext(" 이메일 " + dlgedtemail.gettext().tostring()); 49 } 50 51 52 }); dlg.setnegativebutton(" 취소 ", null); dlg.show(); 53 } 54 }); 55 } 56 } 34~38행 dialog.xml 파일을인플레이트해서 dialogview에대입한후 38행에서 setview() 로 인플레이트한뷰를대화상자로사용했다. 39~50행 < 확인 > 버튼에대한동작코드이다. < 확인 > 버튼을누르면대화상자의에디트텍스트 에있는내용이액티비티의텍스트뷰로들어가게된다. 5 배운내용정리 [ 그림 8-7] 실행화면 - 14 -

6 학습확인하기 - 15 -

6 지식창고 참고문헌 참고사이트 - 16 -